CactiでSyslogを管理したいので、Syslogプラグインを入れる
1.Syslogプラグインをインストール
cd /usr/share/cacti/plugins wget https://github.com/Cacti/plugin_syslog/archive/master.zip unzip plugin_syslog-master.zip -d syslog
2.Syslog用データベースを作成する
mysql -u root -p create database cactisyslog; grant all privileges on cactisyslog.* to cactisyslog@'localhost' identified by 'パスワード'; flush privileges; exit
※データベース名はとりあえずでcactisyslogにした
3.Syslogプラグインの設定
mv /usr/share/cacti/plugins/syslog/config.php.dist /usr/share/cacti/plugins/syslog/config.php vi /usr/share/cacti/plugins/syslog/config.php
Syslogデータベースに接続するように構成する
$use_cacti_db = false; if (!$use_cacti_db) { $syslogdb_type = 'mysql'; $syslogdb_default = 'cactisyslog'; $syslogdb_hostname = 'localhost'; $syslogdb_username = 'cactisyslog'; $syslogdb_password = 'パスワード'; $syslogdb_port = 3306;
use_cacti_dbをfalseに変更し、syslog用データベースの接続情報を設定する
4.ブラウザでcactiにアクセスし、ConfigurationにあるPlugin Managementを開き、Syslog行の歯車をクリックし、インストールを実行。
歯車の横に緑の●が表示されたら、●をクリックりてenableにする
5.rsyslog-mysqlをインストール
yum -y install rsyslog-mysql
rsyslogを設定
vi /etc/rsyslog.conf
## 26行目ぐらいに以下を追加 (#### RULES #### の前に入れる) $ModLoad ommysql ## 70行目ぐらいに以下を追加 (# ### begin forwarding rule ### の前に入れる) $template cacti_syslog,"INSERT INTO syslog_incoming(facility_id, priority_id, program, date, time, host, message) values (%syslogfacility%, %syslogpriority%, '%programname%', '%timereported:::date-mysql%', '%timereported:::date-mysql%', '%HOSTNAME%', TRIM('%msg%'))", SQL *.* :ommysql:localhost,cactisyslog,cactisyslog,パスワード;cacti_syslog
rsyslogを再起動
systemctl stop rsyslog systemctl start rsyslog
設定は終了。
ブラウザでcactiにアクセスし、syslogが受け取れているか確認する