【tech】Zabbix-agent2でNginxを監視設定するメモ



投稿:2020/1/19
更新:2020/1/19

Zabbix4.4を自宅環境に入れて監視設定している最中です。ひとまず、Zabbix-server自身にzabbix-agent2をインストールしてNginxとMySQLを監視対象として追加していっています。

ZabiixとGrafanaやPrometheusも連携できると聞いたことがあるので、挑戦してみたいと思っています!

この手順は下記のCentOS8にZabbix4.4をインストールした後のZabbix-serverで実行しています。

【tech】【Movie】KVM上のCentOS8 にNginxをインストールしてZabbix4.4を動かすメモ

私が使っているPC(のメモリが8GBの物)です!
私は今このPCのメモリを現在では32GBにアップグレードして使っています!笑
安くなりましたよねメモリ。SSDも安くなってるので買い換えたいです!笑

環境

・Zabbix-Server
 CentOS 8.0 (minimal) on KVM
  (IP:192.168.100.151)
 WEB:Nginx Ver1.16
 DB:MySQL Ver8.0.17
 MySQLDB rootユーザPW:Root123!
 zabbix用DB名:zabbixDB
 zabbixDB ユーザ:zabbixuser
 zabbixuser PW:Zabbix123!
・Zabbix-agent2
 監視用MySQLユーザ:zbx_monitor
 監視用MySQLユーザPW:Zbxmoni123!


手順




・zabbix-agent2のインストール
dnf install -y zabbix-agent2 wget

・モジュールの確認
nginx -V 2>&1 | grep -o with-http_stub_status_module

・ディレクトリ移動
cd /etc/nginx/conf.d/

・zabbix用のconfファイル編集
vi zabbix.conf

        location = /basic_status {
            stub_status on;
            access_log off;
            allow 127.0.0.1;
            allow 192.168.100.151;
            deny all;
        }



・nginxのステータス確認
systemctl status nginx

・nginxの再起動
systemctl restart nginx

・nginxのステータス確認
systemctl status nginx

・モジュールへの接続確認
curl 127.0.0.1/basic_status





ブラウザ側でマクロをlocalhost→127.0.0.1に変更



下のRedmineとZabbixの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)



【tech】Zabbix-agent2でMySQL8.0を監視する手順メモ



投稿:2020/1/18
更新:2020/1/18

Zabbix4.4を自宅環境に入れて監視設定している最中です。ひとまず、Zabbix-server自身にzabbix-agent2をインストールしてNginxとMySQLを監視対象として追加していっています。

ZabiixとGrafanaやPrometheusも連携できると聞いたことがあるので、挑戦してみたいと思っています!

この手順は下記のCentOS8にZabbix4.4をインストールした後のZabbix-serverで実行しています。

【tech】【Movie】KVM上のCentOS8 にNginxをインストールしてZabbix4.4を動かすメモ

私が使っているPC(のメモリが8GBの物)です!
私は今このPCのメモリを現在では32GBにアップグレードして使っています!笑
安くなりましたよねメモリ。SSDも安くなってるので買い換えたいです!笑

環境

・Zabbix-Server
 CentOS 8.0 (minimal) on KVM
  (IP:192.168.100.151)
 WEB:Nginx Ver1.16
 DB:MySQL Ver8.0.17
 MySQLDB rootユーザPW:Root123!
 zabbix用DB名:zabbixDB
 zabbixDB ユーザ:zabbixuser
 zabbixuser PW:Zabbix123!
・Zabbix-agent2
 監視用MySQLユーザ:zbx_monitor
 監視用MySQLユーザPW:Zbxmoni123!


手順




・zabbix-agent2のインストール
dnf install -y zabbix-agent2 wget

・テンプレートのDL
wget https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/mysql/template_db_mysql.conf -P /etc/zabbix/zabbix_agent2.d

・ディレクトリ移動
cd /etc/zabbix/zabbix_agent2.d/

・テンプレートをリネーム
mv template_db_mysql.conf userparameter_mysql.conf


・MySQLへログイン
mysql -uroot -p
→Root123!

・ログイン中のユーザを確認する
select user();

・ユーザ一覧を表示
SELECT Host, User FROM mysql.user ;

・監視用ユーザの作成
CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY 'Zbxmoni123!';

・ユーザの削除したい時
drop user zbx_monitor2@'%';

・パスワードを変更したい場合
SET PASSWORD FOR zbx_monitor = 'Zbxmoni123_hennkougo';

・権限の付与
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON . TO 'zbx_monitor'@'%';


・権限の確認
SHOW GRANTS FOR 'zbx_monitor'@'%';

・データベースの一覧を確認
show databases;

・データベースを選択
use zabbixDB

・テーブル一覧
show tables;

・設定の保存
FLUSH PRIVILEGES;

・mysqlからログアウト
quit;


・ディレクトリの作成
mkdir /var/lib/zabbix

・ディレクトリの移動
cd /var/lib/zabbix

・cnfファイルの作成(※要隠しファイル「.mycnf」です)
vi .my.conf


[client]
user=zbx_monitor
password=Zbxmoni123!


・ファイル作成後の確認
ls -al

・権限の変更
chmod 600 .my.cnf

・所有者の変更
chown zabbix:zabbix .my.cnf


・zabbix-agentのステータス確認
systemctl status zabbix-agent2

・zabbix-agentの再起動
systemctl restart zabbix-agent2



下のRedmineとZabbixの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)



【tech】CentOS8にPrometheusをインストールしたメモ




公開日:2019/11/7
更新日:2019/11/9

前の現場でopenstackを教えてくれていた先輩が「これからはPrometheusだ」と言っていたのでインストールしてみました!
最近いろんなアプリケーションに触れているけどまだ触れてないので、しっかり触っていきたいと思います!

動画つくりました!

環境


CentOS8.0 (minimal) on KVM
(IP:192.168.100.101)
Prometheus




手順


・Prometheusのグループ作成
sudo groupadd --system prometheus

・Prometheusのユーザ作成
sudo useradd -s /sbin/nologin --system -g prometheus prometheus

・ディレクトリ作成
sudo mkdir /var/lib/prometheus

・ディレクトリの作成
for i in rules rules.d files_sd; do
sudo mkdir -p /etc/prometheus/${i};
done

・wget、tarのインストール
dnf install -y wget tar

・ディレクトリ作成
mkdir /tmp/prometheus

・ディレクトリ移動
cd /tmp/prometheus


・prometheusのDL
wget https://github.com/prometheus/prometheus/releases/download/v2.13.1/prometheus-2.13.1.linux-amd64.tar.gz

・展開
tar xvf prometheus-*.tar.gz

・ディレクトリ移動
cd prometheus-*/

・ファイルのコピー
sudo cp prometheus promtool /usr/local/bin/

・ファイルのコピー
sudo cp -r consoles/ console_libraries/ /etc/prometheus/

・ディレクトリ移動
cd /etc/prometheus/

・confファイルの作成
vi prometheus.yml
 ※ymlファイルはインデントに意味がありますので、インデントは変更しないでください。

# Global config
global: 
  scrape_interval:     15s
  evaluation_interval: 15s
  scrape_timeout: 15s

scrape_configs:
  - job_name: 'prometheus'

    static_configs:
    - targets: ['localhost:9090']

・cpu数の確認
lscpu
→「CPU(s):2」の場合、次のconfファイルの「Environment="GOMAXPROCS=2"」となる。
 「CPU(s):4」の場合、次のconfファイルの「Environment="GOMAXPROCS=4"」となる。


・systemd起動ファイルの作成
sudo vi /etc/systemd/system/prometheus.service

[Unit]
Description=Prometheus
Documentation=https://prometheus.io/docs/introduction/overview/
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
Environment="GOMAXPROCS=2"
User=prometheus
Group=prometheus
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/usr/local/bin/prometheus \
  --config.file=/etc/prometheus/prometheus.yml \
  --storage.tsdb.path=/var/lib/prometheus \
  --web.console.templates=/etc/prometheus/consoles \
  --web.console.libraries=/etc/prometheus/console_libraries \
  --web.listen-address=0.0.0.0:9090 \
  --web.external-url=

SyslogIdentifier=prometheus
Restart=always

[Install]
WantedBy=multi-user.target



・ディレクトリオーナの更新
for i in rules rules.d files_sd; do
sudo chown -R prometheus:prometheus /etc/prometheus/${i};
done

・ディレクトリ権限の更新
for i in rules rules.d files_sd; do
sudo chmod -R 775 /etc/prometheus/${i};
done

・ディレクトリ所有者の変更
sudo chown -R prometheus:prometheus /var/lib/prometheus/

・デーモンのリロード
sudo systemctl daemon-reload

・prometheusの起動
sudo systemctl start prometheus

sudo systemctl enable prometheus

・ステータス確認
systemctl status prometheus.service

・FWの許可設定
sudo firewall-cmd --add-port=9090/tcp --permanent

・FWのリロード
sudo firewall-cmd --reload

・アクセス確認
ブラウザを立ち上げ192.168.100.101:9090へアクセスする。


久しぶりにみてみると、モバイルバッテリーもずいぶん安くなってるんですね!

皆さん既にやってると思いますが、 AmazonPrimeだとAmazon Music Unlimitedが月額780円でできるんですね!
最近知ってapple musicから乗り換えました。(200円ですが安い方がいいに越したことはないです笑)

下のPythonの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)



【tech】CentOS8にGrafanaをインストールしたメモ



公開日:2019/11/6
更新日:2019/11/9

動画作りました!

環境


CentOS8.0 (minimal) on KVM
(IP:192.168.100.101)
Grafana


手順


・Grafanaのリポジトリの追加
cat <<EOF | sudo tee /etc/yum.repos.d/grafana.repo

[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
EOF

・Grafanaのインストール
sudo dnf install -y grafana

・Grafanaを起動させる
sudo systemctl enable --now grafana-server.service

※Redmineなどで3000番portを使っている場合は
/etc/grafana/grafana.ini.
を編集します。

・Grafanaのiniファイル編集
vi /etc/grafana/grafana.ini.


http_port = 3001




・起動確認
systemctl status grafana-server.service

・FWの許可設定
sudo firewall-cmd --add-port=3001/tcp --permanent

・FWの再起動
sudo firewall-cmd --reload

・アクセス確認
ブラウザを立ち上げ「192.168.100.101:3001」へアクセスする。


username:admin
password:admin


使い方はまた今度、家のLAN環境が仕上がってから調べます!笑



久しぶりにみてみると、モバイルバッテリーもずいぶん安くなってるんですね!

皆さん既にやってると思いますが、 AmazonPrimeだとAmazon Music Unlimitedが月額780円でできるんですね!
最近知ってapple musicから乗り換えました。(200円ですが安い方がいいに越したことはないです笑)

下のPythonの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)



【tech】KVM上のCentOS8にZabbix4.4をインストール(Apache版)




公開日:2019/11/4
更新日:2019/11/9

CentOS7時代に、Zabbix4.2をVirtualBox上にCentOS7へインストールして、
Apacheで動かした事があったので、CentOS8でもやってみました!
うまくいかないところがあればお問い合わせください!

ひとまず手順のみのメモです!
!!質問があればお気軽にコメントください!!
(わたし自身も成長の為に質問頂きたいので、ぜひご質問ください!)

動画upしました!(install movie)

インストールできたらNW機器を追加する手順もblogに書いたので是非見てくださいっ!

zabbix4.0からNW機器(vyos)を監視する(Add NW Device)

KVM(vBridge)のセットアップ手順です!

CentOS8.0 + Zabbix4.4のNginx版です!

環境


CentOS8.0 (minimal) on KVM
(IP:192.168.100.101)
WEB:Apache
DB:MySQL
MySQLDB rootユーザPW:Root123!
zabbix用DB名:zabbixDB
zabbixDB ユーザ:zabbixuser
zabbixuser PW:Zabbix123!


私が使っているPC(のメモリが8GBの物)です!
私は今このPCのメモリを現在では32GBにアップグレードして使っています!笑
安くなりましたよねメモリ。SSDも安くなってるので買い換えたいです!笑

※teratermを使用してCentOSへアクセス


手順


・zabbixのリポジトリ追加
rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm

・zabbixインストール
dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent2 zabbix-web-japanese zabbix-apache-conf

・Apache・PHP・MySQLのインストール
dnf install -y httpd php mysql-server

・php.iniの設定
vi /etc/php.ini
 下記の通りに値を編集


約383行目
max_execution_time = 30
→max_execution_time = 300
 ※:%s/max_execution_time = 30/max_execution_time = 300/gc
  で置換できます

約393行目
max_input_time = 60
→max_input_time = 300
 ※:%s/max_input_time = 60/max_input_time = 300/gc
  で置換できます

約672行目
post_max_size = 8M
→post_max_size = 16M
 ※:%s/post_max_size = 8M/post_max_size = 16M/gc
  で置換できます

約902行目
;date.timezone =
→date.timezone = "Asia/Tokyo"
 ※:%s/;date.timezone =/date.timezone = "Asia\/Tokyo"/gc
  で置換できます。




・ディレクトリ移動
cd /etc/php-fpm.d/

・使用しないファイルのリネーム
mv www.conf www.conf.bk

・php-fpmの設定を編集
vi /etc/php-fpm.d/zabbix.conf
 →コメントアウトを外し。timezoneをAsia/Tokyoへ


24行目
; php_value[date.timezone] = Europe/Riga
→php_value[date.timezone] = Asia/Tokyo
 


・パーミッション変更前の確認
ls -l /var/lib/php/

・Mysqlのステータスの確認
systemctl status mysqld

・Mysqlの自動起動設定
systemctl enable mysqld

・Mysqlの自動起動設定
systemctl start mysqld

・Mysqlのステータス確認
systemctl status mysqld

データベースの作成
・初期設定
mysql_secure_installation
→初期PWを変更して、rootPWも変更しておく。
 そのほかはすべてyでOK


Press y|Y for Yes, any other key for No:
→enter

New password:
 →rootPWを入力
  Root123!
Re-enter new password:
 →rootPWを入力
  Root123!

以降は4回全て「y」でOKです。





・mysqlモードへ移行
mysql -uroot -p
→Enter passwod:Root123!

・zabbix用データベースの作成
create database zabbixDB character set utf8 collate utf8_bin;

・Zabbixユーザの作成
create user zabbixuser@localhost identified by 'Zabbix123!';

・データベースへユーザ/PWの作成
grant all privileges on zabbixDB.* to zabbixuser@localhost;

・mysqlモードを終了
exit

・データベース「zabbix」のテーブル作成用のsql文を実行
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbixuser -p zabbixDB
:Enter password: Zabbix123!

・作成後の確認
mysql -uroot -p zabbixDB
PW:Root123!

・databaseの確認
show databases;

・mysqlモードを終了
exit


・Apacheのステータス確認
systemctl status httpd

・Apacheの自動起動
systemctl enable httpd

・phpステータス確認
systemctl status php-fpm

・phpの自動起動
systemctl enable php-fpm

・zabbixのステータスの確認
systemctl status zabbix-server

・zabbixの自動起動設定
systemctl enable zabbix-server
→この時点でzabbix起動させてもうまくいきません。
 おそらくSELinuxのせいです。

・zabbixフロントの設定
vi /etc/zabbix/zabbix_server.conf


DBパスワードを記載
91行目付近の下記ディレクティブに値をいれる
・DBHost=localhost
・DBName=zabbixDB
・DBUser=zabbixuser
・DBPassword=Zabbix123!





・firewall追加
firewall-cmd --add-service=http --permanent

・selinuxのステータスを確認
getenforce
:Enforcing

・selinuxをdisabledにする
vi /etc/sysconfig/selinux
→SELINUX=disabled

・selinux、FWの変更を反映させるために再起動
reboot

ブラウザから「IPアドレス」へアクセス
(firefoxなどを立ち上げて、「192.168.100.101/zabbix」へアクセス)

※ダメだったら
Apache、mysqld、zabbix-serverの再起動を試してみましょう
→Mysqlの再起動
systemctl restart mysqld



ブラウザアクセスが成功したら、初期設定する。

Welcome to zabbixの画面
→Next step

Check of pre-requisites
→Next step

Configure DB connection
下記の通りにそれぞれ入力
・DBName=zabbixDB
・DBUser=zabbixuser
・DBPassword=Zabbix123!
→Next step

Zabbix server details
→Nameに任意のサーバ名記入

Pre-installation summary
→Next step

Install
Congratulations! You have successfully installed Zabbix frontend.
→Finish

ZabbixのTOP画面※下記は初期ユーザ/パスワード
Username:Admin
Password:zabbix

以上です。


下のRedmineとZabbixの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)