자빅스 심각도 그라파나로 보내기
ReasonableFramework 설치 (v1.6.2 기준)
자빅스(Zabbix) 접속 정보 설정 (파일:
/stroage/config/3rdparty.ini.php
)
zabbix_host=[127.0.0.1] zabbix_username=[username] zabbix_password=[username] zabbix_protocol=http
컨트롤러 작성 (파일:
/route/zabbix.status.json.php
)
<?php loadHelper("zabbix.api"); zabbix_authenticate(); $hosts = zabbix_get_hosts(); $data = array(); foreach($hosts as $host) { $severity = 0; $triggers = zabbix_get_triggers($host->hostid); foreach($triggers as $trigger) { $_severity = intval($trigger->priority); if($_severity > $severity) { $severity = $_severity; } } $data[] = array( "target" => $host->host, "datapoints" => array( array($severity, get_current_timestamp()) ) ); }; header("Content-Type: application/json"); $result = json_encode($data); echo $result;
.htaccess
설정 (파일:/.htaccess
)
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /~gw/index.php/$1 [L]
그라파나(Grafana) 설정
JSON 플러그인 설치: https://grafana.com/grafana/plugins/simpod-json-datasource
새로운 Datasource를
JSON
으로 선택Datasource 이름을 지정:
Zabbix Status API
(예시)JSON 주소 입력: https://localhost/zabbix.status.json (예시)
Test & Save
누름: 성공 메시지 확인저장
패널(Panel) 설정
Zabbix Status API
(예시)를 선택하여 패널을 이용.
원문: https://gist.github.com/gnh1201/792964e9719d2f62157cf46e394888f5
REST API 호출 예시: 네이버 파파고 API 사용 예제
네이버 개발자 센터에서 클라이언트 ID와 Secret을 취득한다.
ResonableFramework를 내려받고 설치한다.
/helper/papago.api.php
파일을 아래와 같이 만든다. 1번 과정에서 받은 클라이언트 ID와 Secret을 함께 적는다.
<?php // papago helper if(!function_exists("get_translated_text_by_papago")) { function get_translated_text_by_papago($text, $source="ko", $target="en") { $response = get_web_json("https://openapi.naver.com/v1/papago/n2mt", "get.cache", array( "headers" => array( "Content-Type" => "application/x-www-form-urlencoded; charset=UTF-8", "X-Naver-Client-Id" => "<your client ID>", "X-Naver-Client-Secret" => "<your client secret>", ), "data" => array( "source" => $source, "target" => $target, "text" => $text, ), )); return $response->message->result->translatedText; } } ?>
/route/papago.php
파일을 아래와 같이 만든다.
<?php // papago contoller loadHelper("papago.api"); $text = get_requested_value("text"); $translated_text = get_translated_text_by_papago($text); $data = array( "translated_text" => $translated_text, ); ?>
/view/view_papago.php
파일을 아래와 같이 만든다.
<?php // papago viewer echo $translated_text; ?>
아래 주소로 접속하여 확인한다.
http://localhost/?route=papago&text=사랑해
여기 적힌 접속 주소 중 localhost
부분을 사용자의 도메인이나 IP 주소로 대체하여 접속하면 된다.
원문: https://gist.github.com/gnh1201/081484e6f5e10bd3be819093ba5f49c8
PG사 연동 (Payment Gateway Integration)
다음 소스코드를 참고: /route/orderpay.pgkcp.php