LoginSignup
2
2

More than 3 years have passed since last update.

zabbix-agent をroot権限で起動する方法

Posted at

0.記事の経緯

絶対忘れるため、メモ用。
勿体無いついでに公開

1.Zabbixとは

ZabbixとはOSSで利用できる監視ソフトウェアのこと。
監視ソフトウェアの中でも、自由度が非常に高く無料で利用できるため、人気が高い。
無駄にオプション料金をとる商用ソフトウェアと比較して、かなり安価に高度な監視を組み込むことができるが、自由度の高さを引き換えに、異常に構築が面倒。

2. Zabbixで監視できること

Zabbixでは以下の監視が可能

  • 死活監視(ICMP監視)
  • ステータス監視
  • ログ監視
  • 閾値監視
  • サービス監視(プロセス監視)

なお、上記の監視にアクション、スクリプト 実行、メール通知などが可能
正直いくらでも拡張ができるため、アプリケーション層の内部的な処理についても監視可能(だと思う...)
そもそもZabbix-agentが優秀なので、上記のインフラの基本的な監視は問題なくできる。

3.優秀とはいえども、困るものは困る

最近・・・とはいえないが、Zabbix5.0になった。しかし、日本語版の情報は 2.2くらいで止まっている。
有志による掲示板や、フォーラムがあるので、なんとかなっているが、実際は5.0くらいになるとほぼ日本語の情報がない。
今関わっている案件では5.0だったので、古い情報があてにならなかったところが多い。
そういった状況だったので、古い情報だけでは苦戦も多く、タイトル通りrootでagentを実行しようとしたが、2.2や3.0の情報だけでは、実行ができなかった。

4.rootで実行する理由

そもそもrootでagentを実行する必要があるのか、という点だけど、ログ監視をする場合、経験上linuxでは大概syslogの監視組み込む場合が多いが、syslogは基本的にはrootでしか読み取ることができない。
また、アプリケーションのログの中にはrootや特定のサービスアカウントでしか読み取りできないログも存在する。(ほぼ権限変更できると思うが・・・)
いずれにしもrootで実行する方法は理解しておくと便利。セキュリティ上は危険だけど。。。

5.設定方法

使用している環境

  • ZabbixServer OS:CentOS8
  • Zabbix-Server:5.0.4
  • ZabbixAgent OS:CentOS7
  • Zabbix-agent:5.0.4

Zabbix-agentをインストールしたサーバから/etc/zabbix/zabbix-agentd.confをviで以下のように編集する

#AllowRoot=0
#↓追記
AllowRoot=1 

上記はrootで実行を許可しているだけなので、実際にrootで実行する設定をサービスファイルに書き込む必要がある。
zabbix-agentd.conf設定完了後は/usr/lib/systemd/system/zabbix-agent.serviceをviで
修正する。

#User=zabbixを修正
User=root
#Group=zabbixを修正
Group=root

設定後、以下を実行

systemctl daemon-reload
systemctl restart zabbix-agent

完了後はps -ef |grep "zabbix_agent"を実行し、rootで起動されていること確認する。

これだけで、zabbix-agentはrootで起動する。
あとはsyslogの権限周りのこともあるが、ログ監視となるため、別記事に記載しようと思う
(調べれば出てくるので、不要かな。。。)

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2