技術共有

zabbix と grafana のドッキング

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1.グラファナをインストールする

1.初期化動作

  1. 初始化操作
  2. systemctl disable --now firewalld
  3. setenforce 0
  4. vim /etc/selinux/config
  5. SELINUX=disabled

2. データパッケージをアップロードしてインストールします

  1. cd /opt
  2. grafana-enterprise-9.4.7-1.x86_64.rpm #上传软件包
  3. yum localinstall -y grafana-enterprise-9.4.7-1.x86_64.rpm #安装
  4. systemctl enable --now grafana-server.service #开启服务
  5. netstat -lntp | grep 3000 #查询是否已经开启服务

2. ブラウザアクセス

1. グラファナにログインします

ブラウザに「http://192.168.10.50:3000」と入力します。

アカウント/パスワード:admin/admin

2. パスワードを変更してログインします

3. zabbix を grafana に追加する

その後、プラグイン インターフェイスに戻ります。zabbix がインストールされています。

4. Zabbixデータをインポートして接続するグラファナ

3. Linuxシステムステータスの監視

1.監視テンプレートの選択

ここでは CPU と負荷平均の 2 つの状態のみを監視します。

2. 監視動作

3. 保存操作

4. Linuxシステムのサービス状態の監視(テンプレート2つ目)

1. テンプレートを選択するか、テンプレートをインポートします

2. データを変更する

3. 特定の監視ステータスを変更する

CPU コアの数を直接変更することはできません。最初に次の操作を行う必要があります。

このようにして、CPU の数を監視できます。

以降の操作は通常と同じです。まずアイコンの上にあるキーワードを見つけて、再入力します。

最終的な結果はこんな感じです

zabbixに比べて具体的な状態が観測しやすい

5. nginxの監視

nginx の監視を実装するには、まず次の構成が必要です--with-http スタブステータスモジュール

1. nginx設定を変更する

  1. vim /etc/nginx/conf.d/default.conf
  2. location / {
  3. root /var/www/zbx;
  4. index index.php index.html index.htm;
  5. }

  1. systemctl reload nginx.service
  2. curl -s http://192.168.10.20/nginx_state

2. nginx のステータスを表示するスクリプトを作成します。

  1. vim nginx_status.sh
  2. chmod +x nginx_status.sh
  3. ./nginx_status.sh waiting

nginxのステータスを検出するスクリプト

  1. #!/bin/bash
  2. IP=192.168.10.20
  3. PORT=80
  4. STUB_URI=nginx_state
  5. active() {
  6. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==1 {print $3}'
  7. }
  8. accepts() {
  9. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $1}'
  10. }
  11. handled() {
  12. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $2}'
  13. }
  14. requests() {
  15. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $3}'
  16. }
  17. Reading() {
  18. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $2}'
  19. }
  20. writing() {
  21. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $4}'
  22. }
  23. waiting() {
  24. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $6}'
  25. }
  26. process() {
  27. pidof nginx | wc -w
  28. }
  29. case $1 in
  30. active)
  31. active
  32. ;;
  33. accepts)
  34. accepts
  35. ;;
  36. handled)
  37. handled
  38. ;;
  39. requests)
  40. requests
  41. ;;
  42. Reading)
  43. Reading
  44. ;;
  45. Writing)
  46. writing
  47. ;;
  48. Waiting)
  49. waiting
  50. ;;
  51. process)
  52. process
  53. ;;
  54. *)
  55. echo "Usage: $0 {active|accepts|handled|requests|Reading|writing|waiting|process}" exit 1
  56. esac
  57. exit 0

ステータスが表示できることを確認する

3. キー値の設定

  1. vim nginx_state.conf
  2. UserParameter=nginx.status[*],/etc/zabbix/zabbix_agent2.d/nginx_status.sh $1

4. zabbix Web 側でカスタム監視項目を完了する

(1) テンプレートの作成

(2) 監視項目の作成

(3) トリガーを作成する

4. grafana を使用して nginx を監視する