CentOS7 cacti install with mariadb

networkのトラヒック監視。グラフがあると便利ですよね。

ってことでMRTGとcactiが身近なところで動いていたりします。MRTGはCentOS6の時から設定を変えた覚えもなくcopyして終わりでしたが、cactiはrrdtoolsとかdatabaseを使うのでちょっと手間が変わっています。httpdも2.2から2.4になったりもしています。

まずはmariadb。CentOS7だと 5.5-mariadbという名前で入っています。cacti的にはmysql5.7以上もしくはmariadb 10以上ということで、今回はmariadbをベースにします。

mariadb公式から

# curl -sS https://downloads.mariadb.com/Ma?riaDB/mariadb_repo_setup | bash
# yum -y install MariaDB-server MariaDB-client

cactiのセットアップでいくつかの値が規定値より上でないとsetupが進まないので先に設定変更。赤くなって起こられたところは修正しましょう。

/etc/my.confをいじってもいいですし、/etc/my.conf.d/cacti.confとか作ってもよいですが読み込めるような所に書きます。

[mysqld]
collation-server = utf8mb4_unicode_ci
character-set-server = utf8mb4
default-time-zone = Asia/Tokyo
max_heap_table_size = 188M
max_allowed_packet = 16777216
tmp_table_size = 64M
join_buffer_size = 64M
innodb_buffer_pool_size = 940M
innodb_doublewrite = OFF
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads = 16
innodb_flush_log_at_trx_commit = 2

mariadbはmysqlの後期のモノと違い初期パスワードがないのでmysql_secure_installationを使ってpasswordを設定します。

/etc/httpd/conf.d/にcacti.confがありますが、こちらも微妙に変更が必要です。(一部抜粋)


<Directory /usr/share/cacti/>
<IfModule mod_authz_core.c>
# httpd 2.4
# Require host localhost
Require all granted
</IfModule>

Require all grantedを追加してhttpdをrestartしておきます。

 

# mysql -u root -p
Enter password: ★mysqlのパスワード
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 93
Server version: 10.3.12-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database cacti;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on cacti.* to cactiuser@localhost identified by 'cacti'; ★cacti用パスワード
mysql> grant select on mysql.time_zone_name to 'cactiuser'@'localhost' identified by 'cacti';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql>\q
Bye



次にcactiのdatabase展開です。

# mysql -u root -p cacti </usr/share/doc/cacti-1.1.38/cacti.sql
# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql -pkddiedu
Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it.


このあたりまでできたらあとはGUIでの設定です。
問題のあるところは赤くwarningが出るので適宜直します。php.iniに”date.timezone = Asia/Tokyo”を入れるとかとか




本当はspineとか入れると変わってきたりするのですが別の機会に。
ぽちぽち進めるとログイン状態までいきますが、ログアウトして再度ログインするとパスワードの変更を求められます。元のIDとパスワードはadmin/adminです。

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です