1. 程式人生 > 其它 >Docker容器(centos)安裝zabbix

Docker容器(centos)安裝zabbix

zabbix是一個基於WEB介面提供分散式系統監視以及網路監視功能的企業級的開源解決方案。--百度百科

zabbix介紹

zabbix主要有zabbix-server及zabbix-agent組成,zabbix-server是服務端,需要配置資料庫;zabbix-agent相當於客戶端,需要監控的伺服器必須安裝zabbix-agent,zabbix-server和zabbix-agent可以共存於同一臺伺服器。
** 安裝伺服器 **

1、建立容器

  • -i 互動模式
  • -d 後端執行
  • -h 容器的hostname
  • --name 容器名稱
  • --network 指定網絡卡
  • --ip 指定IP
  • -p 埠對映
  • -v /sys/fs/cgroup:/sys/fs/cgroup 解決mysql服務啟動暫停的問題
  • --privileged=true與/usr/sbin/init 特權模式
[root@localhost ~]# docker run -i -d -h zabbix --name zabbix --network docker-br0 --ip 172.127.0.101 -p 3306:3306 -p 8080:80 --privileged=true -v /sys/fs/cgroup:/sys/fs/cgroup centos:7 /usr/sbin/init

2、進入容器、安裝一些必要的工具

[root@localhost ~]# docker exec -it zabbix /bin/bash
[root@zabbix /]# yum -y update
[root@zabbix /]# yum -y install vim zip unzip net-tools wget

3、安裝zabbix repository

[root@zabbix /]# mkdir Tools
[root@zabbix /]# cd Tools
[root@zabbix Tools]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[root@zabbix Tools]# yum clean all

4、安裝 zabbix server

[root@zabbix Tools]# yum -y install zabbix-server-mysql

5、安裝Zabbix frontend

[root@zabbix Tools]# yum -y install centos-release-scl

6、編輯配置檔案/etc/yum.repos.d/zabbix.repo

[root@zabbix Tools]# vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
...
enabled=1
...

7、安裝Zabbix frontend packages

[root@zabbix Tools]# yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl

8、安裝資料庫(mysql)

8.1 下載mysql yum源

  • 執行完rpm -ivh mysql57-community-release-el7-9.noarch.rpm會在/etc/yum.repos.d/下生成兩個檔案
[root@zabbix Tools]# wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
[root@zabbix Tools]# rpm -ivh mysql57-community-release-el7-9.noarch.rpm
[root@zabbix Tools]# ll /etc/yum.repos.d/

8.2 更改yum源為國內映象(官網實在是慢,安裝過的老鐵都知道)

  • mysql版本為5.7
[root@zabbix Tools]# cd /etc/yum.repos.d
[root@zabbix yum.repos.d]# mv mysql-community.repo mysql-community.repo.bak
[root@zabbix yum.repos.d]# vim mysql-community.repo     
[root@zabbix yum.repos.d]# cat mysql-community.repo

8.3 匯入mysql的key

[root@zabbix yum.repos.d]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

8.4 安裝

  • 需在/etc/yum.repos.d路徑下
[root@zabbix yum.repos.d]# yum -y install mysql-server

8.5 mysql服務管理

[root@zabbix yum.repos.d]# systemctl start mysqld   # 啟動服務
[root@zabbix yum.repos.d]# systemctl restart mysqld # 重啟服務
[root@zabbix yum.repos.d]# systemctl stop mysqld    # 停止服務 
[root@zabbix yum.repos.d]# systemctl status mysqld  # 檢視狀態 

8.6 獲取mysql第一次登入密碼

[root@zabbix yum.repos.d]# grep 'temporary password' /var/log/mysqld.log

8.7 登入mysql

[root@zabbix yum.repos.d]# mysql -uroot -p'kLop*uggJ0L6'

8.8 修改密碼

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Yangxiao214.';

8.9 開啟遠端控制

  • user表中host的值為 % 代表任意的客戶端,可替換成具體IP地址。
mysql> show databases;
mysql> use mysql
mysql> show tables
mysql> desc user;
mysql> select host,user from user;
mysql> update user set host='%' where user='root';
mysql> flush privileges;

9、建立初始資料庫

mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'Yangxiao214.';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit

10、下載zabbix的安裝包,獲取zabbix初始資料庫指令碼

[root@zabbix yum.repos.d]# cd /Tools/
[root@zabbix Tools]# wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.21.tar.gz 
[root@zabbix Tools]# ll
[root@zabbix Tools]# tar -zxvf zabbix-5.0.21.tar.gz
[root@zabbix Tools]# cd zabbix-5.0.21/database/mysql/


11、依次匯入schema.sql、images.sql、data.sql

[root@zabbix mysql]# mysql -uzabbix -p'Yangxiao214.'
mysql> use zabbix
mysql> source /Tools/zabbix-5.0.21/database/mysql/schema.sql;
mysql> source /Tools/zabbix-5.0.21/database/mysql/images.sql;
mysql> source /Tools/zabbix-5.0.21/database/mysql/data.sql;
mysql> quit;

12、Zabbix server配置資料庫 /etc/zabbix/zabbix_server.conf

  • /set nu 顯示行號
  • /set nu! 取消顯示行號
[root@zabbix mysql]# vim /etc/zabbix/zabbix_server.conf
[root@zabbix mysql]# grep ^DB /etc/zabbix/zabbix_server.conf
DBHost=localhost            // 91行
DBName=zabbix               // 100行
DBUser=zabbix               // 116行
DBPassword=Yangxiao214.   // 124行

13、為Zabbix前端配置PHP /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

[root@zabbix mysql]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

14、啟動zabbix服務

[root@zabbix mysql]# systemctl start zabbix-server httpd rh-php72-php-fpm      # 啟動
[root@zabbix mysql]# systemctl restart zabbix-server httpd rh-php72-php-fpm    # 重啟
[root@zabbix mysql]# systemctl stop zabbix-server httpd rh-php72-php-fpm       # 停止
[root@zabbix mysql]# systemctl status zabbix-server httpd rh-php72-php-fpm     # 檢視
[root@zabbix mysql]# systemctl enable zabbix-server  httpd rh-php72-php-fpm    # 開機自啟

** 安裝zabbix agent **

15 安裝agent

[root@zabbix mysql]# yum -y install zabbix-agent

16、修改agent的伺服器配置 /etc/zabbix/zabbix_agentd.conf

[root@zabbix mysql]# vim /etc/zabbix/zabbix_agentd.conf
DenyKey=system.run[*]      // 85 行
Server=172.127.0.101       // 117 行,zabbix-server 的ip
ServerActive=172.127.0.101 // 158 行,zabbix-server 的ip
Hostname=zabbix            // 169 行,zabbix-agent的ip

17、啟動agent

[root@zabbix mysql]# systemctl start zabbix-agent    # 啟動
[root@zabbix mysql]# systemctl restart zabbix-agent  # 重啟
[root@zabbix mysql]# systemctl stop zabbix-agent     # 停止
[root@zabbix mysql]# systemctl status zabbix-agent   # 檢視
[root@zabbix mysql]# systemctl enable zabbix-agent   # 開機自啟

18、開放mysql服務埠

[root@zabbix mysql]# firewall-cmd --zone=public --add-port=3306/tcp --permanent # 開放3306 埠
[root@zabbix mysql]# firewall-cmd --zone=public --list-ports # 檢視開放列表
[root@zabbix mysql]# firewall-cmd --reload # 過載

19、其他

  • zabbix執行日誌 /var/log/zabbix/zabbix_server.log

** Web訪問 **

  • http:ip:埠/zabbix,預設埠80,httpd服務埠
  • 預設登入使用者 Admin ,密碼 zabbix