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