Cacti Syslogプラグイン

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が受け取れているか確認する