1. 程式人生 > 其它 >centos7 部署 zabbix4

centos7 部署 zabbix4

有好幾年沒碰zabbix了。並且手裡也沒有zabbix相關的筆記記錄,所以就寫一篇這個留著以後用。。

安裝zabbix-server

參考:https://www.zabbix.com/documentation/4.0/zh/manual/installation/install_from_packages/rhel_centos

基礎配置

## 關閉防火牆和selinux
systemctl stop firewalld.service 
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 
# 配置base yum 源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# 配置zabbix yum源
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
# 使用清華源加速 zabbix
sed  -i  -e s'/repo.zabbix.com/mirrors.tuna.tsinghua.edu.cn\/zabbix/' -e s'/gpgcheck=1/gpgcheck=0/' -e s'/http/https/' zabbix.repo

開始安裝zabbix server

# 安裝所需包
yum -y install zabbix-server zabbix-server-mysql zabbix-web-mysql mariadb-server
# 初始化資料庫
systemctl start mariadb
systemctl enable mariadn
# init 全部y
mysql_secure_installation
mysql -uroot -p123456 -e 'create database zabbix character set utf8 collate utf8_bin;'
mysql -uroot -p123456 -e 'grant all on zabbix.* to zabbix@localhost identified by "123456";'
mysql -uroot -p123456 -e 'flush privileges;'
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p123456 zabbix
# zabbix-server配置檔案
cat > /etc/zabbix/zabbix_server.conf <<EOF
#服務埠
ListenPort=10051
LogFile=/var/log/zabbix/zabbix_server.log

#日誌達到多少M就輪轉;若此引數值為0時,則不輪轉,日誌將不斷變大,建議設定成輪轉。
LogFileSize=10

PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBName=zabbix
DBUser=zabbix
DBPassword=123456

#指定StartSNMPTrapper日誌路徑
SNMPTrapperFile=/tmp/zabbix_traps.tmp

#是否開啟StartSNMPTrapper功能
StartSNMPTrapper=1

#輪訓程序數,主動模式減少該值,
StartPollers=20

#處理agent推送資料的程序數,主動模式加大該值
StartTrappers=150

StartDiscoverers=30
#自動發現程序數,有一些自動發現的監控項,也增加該值

#pre-forked監控項計時器
StartTimers=10

#歷史資料清理時長,預設1小時,
HousekeepingFrequency=1

#每次刪除歷史資料的條數,預設5000調小該值,減少IO慢查詢
MaxHousekeeperDelete=500

#zabbix初始化時佔用多少系統共享記憶體用於儲存配置資訊
CacheSize=256M

#zabbix更新作業系統CACHE配置,若管理頁面操作不頻繁,可以考慮加大引數值
CacheUpdateFrequency=75

#資料同步到資料庫的執行緒
StartDBSyncers=30

#用於設定劃分多少系統共享記憶體用於儲存採集的歷史資料,此數值越大,資料庫讀壓力越小
HistoryCacheSize=64M

#用於索引歷史快取中歷史資料的共享記憶體大小.
HistoryIndexCacheSize=16M

#快取item歷史資料請求的共享記憶體大小.
ValueCacheSize=128M

#agent,SNMP裝置或外部檢查的超時時長(單位秒)
Timeout=30

#當檢測到主機不可用時,設定多少秒將它設定為不可達
UnreachablePeriod=120

#用於服務端資料庫慢查詢功能,單位是毫秒;1毫秒=0.001秒,若有服務端資料庫監控慢查詢的需求,可以視具體情況調整此數。
LogSlowQueries=3000

#告警指令碼目錄
AlertScriptsPath=/usr/lib/zabbix/alertscripts

#外部指令碼目錄
ExternalScripts=/usr/lib/zabbix/externalscripts
[root@master001 ~]#
EOF
# 啟動zabbix-server服務
systemctl restart zabbix-server
systemctl enable zabbix-server
# 配置zabbix-web
sed -i s'/.*date.timezone.*/\tphp_value date\.timezone Asia\/Shanghai/' /etc/httpd/conf.d/zabbix.conf
# 還有一處在php.ini date.timezone = Asia/Shanghai
sed -i '/^date.timezone/d' /etc/php.ini
sed -i '/^; date.timezone.*/a\date.timezone = Asia/Shanghai' /etc/php.in
systemctl restart httpd
systemctl enable httpd

訪問zabbix頁面進行初始化配置

http://127.0.0.1/zabbix/setup.php

一直下一步 出現配置資料庫頁面,填寫好Password 點選下一步

輸入name後點擊下一步

確認配置

完成

  • 預設登入賬號密碼:Admin zabbix

安裝agent

基礎配置

## 關閉防火牆和selinux
systemctl stop firewalld.service 
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 
# 配置base yum 源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# 配置zabbix yum源
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
# 使用清華源加速 zabbix
# sed  -i  -e s'/repo.zabbix.com/mirrors.tuna.tsinghua.edu.cn\/zabbix/' -e s'/gpgcheck=1/gpgcheck=0/' -e s'/http/https/' zabbix.repo

安裝配置

# 安裝
yum install zabbix-agent -y
# 配置agent
Server='master001'
ServerActive='master001'
Hostname=`hostname`
cat > /etc/zabbix/zabbix_agentd.conf <<EOF
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
#當日志文件達到多大時進行輪詢操作
LogFileSize= 1

#日誌資訊級別
DebugLevel=3

#zabbix agent監聽的埠
ListenPort=10050

#zabbix agent監聽的ip地址
ListenIP=0.0.0.0

#zabbix server的ip地址或主機名,可同時列出多個,需要用逗號隔開
Server=$Server

#主動檢查地址 如果設定為空或者註釋,就代表關閉zabbix agent的主動模式
ServerActive=$ServerActive

#在zabbix server前端配置時指定的主機名要相同,最重要的配置
Hostname=$Hostname

#是否允許zabbix server端的遠端指令,
EnableRemoteCommands=1

#是否開啟日誌記錄shell命令作為警告 0表示不允許,1表示允許
LogRemoteCommands=0

#zabbix agent資料緩衝區的大小,當達到該值便會發送所有的資料到zabbix server
BufferSize=100

#設定處理超時的時間
Timeout=30

#包含子配置檔案的路徑
Include=/etc/zabbix/zabbix_agentd.d/*.conf

#指定使用者自定義引數
#UserParameter=
EOF

# 啟動服務
systemctl restart zabbix-agent
systemctl enable zabbix-agent

頁面新增主機

Configuration --Hosts--Create host

填寫IP和資訊,

選擇一個模板

完成

附錄

mysql 連線數不夠

zabbix server 報錯 connection to database 'zabbix' failed: [1040] Too many connections

原因是資料庫連線數太小了,所以修改如下

  1. 調整mariadb 啟動檔案

    # /usr/lib/systemd/system/mariadb.service service下新增如下兩行
    [Service]
    LimitNOFILE=10000
    LimitNPROC=10000
    
  2. 調整my.cnf

    # /etc/my.cnf mysqld下新增 max_connections
    [mysqld]
    max_connections=4096
    
  3. 重啟mysql

    systemctl restart mariadb
    
  4. 驗證

    # mysql -uroot -p123456 -e 'show variables like "max_connections";'
    +-----------------+-------+
    | Variable_name   | Value |
    +-----------------+-------+
    | max_connections | 4096  |
    +-----------------+-------+
    

zabbix設定中文字型

上傳宋體檔案simsun.ttf/usr/share/fonts/dejavu/ 目錄下

# 更換中文字型
rm -f  /etc/alternatives/zabbix-web-font
ln -s /usr/share/fonts/dejavu/simsun.ttf /etc/alternatives/zabbix-web-font

本文來自部落格園,作者:La0jin,轉載請註明原文連結:https://www.cnblogs.com/la0jin/p/15027584.html