zabbix簡易教程


https://www.jianshu.com/p/6b8a08d6f941

 

1、Zabbix介紹

  • Zabbix功能
  • Zabbix應用

2、zabbix安裝教程

  • 安裝包安裝Zabbix
  • docker方式安裝Zabbix

3、使用教程

  • 添加監控
  • 告警設置

1、Zabbix介紹

  • Zabbix簡介

Zabbix 是一個高度集成的網絡監控解決方案,由一個國外的團隊持續維護更新,軟件可以自由下載使用。具備常見的商業監控軟件所具備的功能(主機的性能監控、網絡設備性能監控、數據庫性能監控、FTP 等通用協議監控、多種告警方式、詳細的報表圖表繪制).Zabbix 通過 C/S 模式采集數據,通過 B/S 模式在 web 端展示和配置:

一、Client(被監控)端: 主機通過安裝 agent 方式采集數據,網絡設備通過 SNMP 方式采集數據

二、Server (服務)端: 通過收集 SNMP 和 agent 發送的數據,寫入數據庫再通過 php+apache 在 web 前端展示。

  • Zabbix功能
    1、支持自動發現網絡設備和服務器(可以通過配置自動發現服務器規則來實現)
    2、支持自動發現(low discovery)key 實現動態監控項的批量監控(需寫腳本)
    3、支持分布式,能集中展示、管理分布式的監控點
    4、擴展性強,server 提供通用接口(api 功能),可以自己開發完善各類監控(根據相關接口編寫程序實現)

  • 編寫插件容易,可以自定義監控項,報警級別的設置。
    數據收集:

1、可用和性能檢測
2、支持 snmp(包括 trapping and polling ),IPMI,JMX,SSH,TELNET
3、自定義的檢測
4、自定義收集數據的頻率
5、服務器/代理和客戶端模式
6、靈活的觸發器
7、可以定義非常靈活的問題閾值,稱為觸發器,從后端數據庫的參考值
8、高可定制的報警
9、發送通知,可定制的報警升級,收件人,媒體類型
10、通知可以使用宏變量有用的變量
11、自動操作包括遠程命令
12、實時的繪圖功能
13、監控項實時的將數據繪制在圖形上面

  • WEB 監控:

1、ZABBIX 可以模擬鼠標點擊了一個網站,並檢查返回值和響應時間Api 功能

  • 應用 api 功能:

1、可以方便的和其他系統結合,包括手機客戶端的使用。

2、Zabbix安裝

安裝包安裝Zabbix

  • 配置環境:

系統:centos7.5
php版本:5.4
數庫版本:mariadb5.7
Zabbix版本:3.4

注意:php最新版本可能會產生報錯,這里用的5.4版本存在一定安全風險,需要開啟iptables限制非法ip訪問80端口!

安裝數據庫:
yum -y install mariadb-server mariadb
安裝Apache
yum -y install httpd
安裝php
yum install php
創建數據庫並授權zabbix用戶以及設置密碼:

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

安裝php

yum install php-mysqlnd php-gd libjpeg* php-snmp php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash php-common php-ctype php-xml php-xmlreader php-xmlwriter php-session php-mbstring php-gettext php-ldap php-mysqli --skip-broken yum install wget telnet net-tools python-paramiko gcc gcc-c++ dejavu-sans-fonts python-setuptools python-devel 

安裝zabbix源

rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm 

安裝zabbix

yum -y install zabbix-server-mysql zabbix-web-mysql

導入剛創建的數據:(需要先定義好root的密碼,輸入root密碼導入數據)
zcat /usr/share/doc/zabbix-server-mysql-3.4.0/create.sql.gz | mysql -uzabbix -pzabbix zabbix

配置zabbix參數:

vim /etc/zabbix/zabbix_server.conf /etc

DBPassword=zabbix #設置Zabbix的密碼,與創建zabbix數據庫的密碼一致

修改zabbix時區

vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai

配置防火牆策略
1、關閉 SELinux

setenforce 0 && sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
setenforce=0

2、防火牆放行端口
firewall-cmd --zone=public --add-port=10051/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent

啟動服務:
systemctl restart mysqld
systemctl start httpd
systemctl start zabbix-server

訪問zabbix並配置:http://10.17.87.15/zabbix/zabbix

 
image.png

 

全部ok,才能選擇下一步:


 
image.png

輸入zabbix數據庫的密碼:


 
image.png

下一步:


 
image.png
 
image.png

 
image.png

使用默認的登陸賬號密碼登陸:Admin/zabbix
http://10.17.87.15/zabbix/zabbix.php?action=dashboard.view

docker方式安裝Zabbix

  • 配置環境:

系統:Centos7.5
容器:docker-ce18.06
本次使用docker搭建zabbix的組合是docker+mysql+zabix-server
docker參數含義:

--name:創建容器自定義命名
   -e:配置文件參數添加
   -p:容器的端口映射到宿主機上
   -d:后台運行容器
   -v:卷或配置文件映射宿主機上,通過修改宿主機上的路徑文件即可修改配置文件參數   
  • 1 先安裝數據庫mysql
docker run --name zabbix-mysql-server --hostname zabbix-mysql-server \ -e MYSQL_ROOT_PASSWORD="123456" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="123456" \ -e MYSQL_DATABASE="zabbix" \ -p 3306:3306 \ -d mysql:5.7 \ --character-set-server=utf8 --collation-server=utf8_bin 
  • 2 創建zabbix-server
docker run  --name zabbix-server-mysql --hostname zabbix-server-mysql \ --link zabbix-mysql-server:mysql \ -e DB_SERVER_HOST="mysql" \ -e MYSQL_USER="zabbix" \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_PASSWORD="123456" \ -v /etc/localtime:/etc/localtime:ro \ -v /data/docker/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \ -v /data/docker/zabbix/externalscripts:/usr/lib/zabbix/externalscripts \ -p 10051:10051 \ -d \ zabbix/zabbix-server-mysql 
  • 3 安裝web-nginx
docker run --name zabbix-web-nginx-mysql --hostname zabbix-web-nginx-mysql \
--link zabbix-mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-e DB_SERVER_HOST="mysql" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="123456" \
-e MYSQL_DATABASE="zabbix" \
-e ZBX_SERVER_HOST="zabbix-server" \
-e PHP_TZ="Asia/Shanghai" \
-p 8000:80 \
-p 8443:443 \
-d \
zabbix/zabbix-web-nginx-mysql

瀏覽器訪問ip:8000查看
默認登錄
username:Admin
password:zabbix
,mysql沒做數據卷的映射,nginx也沒做數據卷的映射,在實際生產環境下,最好做數據映射。防止數據丟失。

3、使用教程

  • 添加監控

客戶端系統:Centos7.4
客戶端監控的方式:zabbix-agent監控。
安裝與Server版本一直的zabbix-agent

1、客戶端設置
執行如下腳本

Rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-agent-3.0.10-1.el6.x86_64.rpm 修改配置文件:`/etc/zabbix/zabbix_agentd.conf` sed -i "s/Server=127.0.0.1/Server=10.17.87.69/" /etc/zabbix/zabbix_agentd.conf #服務器端地址 sed -i "s/Hostname=/Hostname=$serverip/" /etc/zabbix/zabbix_agentd.conf #hostname地址,一般設置為本地ip service zabbix-agent restart && chkconfig zabbix-agent on #打開並設置zabbix-agent自開機啟動 

需要根據系統版本修改,可根據http://repo.zabbix.com/zabbix/3.0/rhel查看需要下載的版本后復制鏈接

2、服務器端設置
登陸zabbix,配置-主機-創建主機

填寫如下信息:
主機名稱:hostname。填寫本地ip,群組,IP地址,端口默認。


 
image.png
 
image.png

添加模塊:


 
image.png

查看添加的服務器的狀態:
綠色:正常,紅色:不通


 
image.png
  • 告警設置
  • 郵箱告警
    環境
    系統:CentOS7
    Zabbix版本:Zabbix3.4.4

安裝郵件發送工具mailx
先關閉其他自帶的郵件服務:
service sendmail stop && systemctl disable sendmail.service ##禁止開機啟動sendmail
service postfix stop systemctl disable postfix.service ##禁止開機啟動postfix
然后安裝mailx工具、dos2unix轉換工具( 解決發出的郵件是附件格式的問題 )
yum -y install mailx
yum -y install dos2unix

配置Zabbix服務端外部郵箱
打開文件vim /etc/mail.rc(如果mail.rc文件沒有,就手動創建,添加如下內容)
使用的賬戶和密碼需要開啟設置--客戶端授權密碼

set sendcharsets=iso-8859-1,utf-8 set from=xxx@163.com set smtp=smtp.163.com:25 set smtp-auth-user=xxx@163.com set smtp-auth-password=**** 

測試郵件是否可以發出
echo "zabbix test mail" |mail -s "zabbix" yyy@163.com
配置完成后,執行這條命令測試郵件是否可以正常發出,如果正常,郵箱yyy@163.com會收到來自xxx@163.com的測試郵件

編寫發送郵件腳本

修改郵件腳本
vim /usr/lib/zabbix/alertscripts/sendmail.sh
修改郵件發送腳本內容:

!/bin/bash

export.UTF-8 ###解決發送的中文變成了亂碼的問題

FILE=/tmp/mailtmp.txt
echo "3" >FILE
dos2unix -k FILE ###解決了發送的郵件內容變成附件的問題。 /bin/mail -s "2" 1 <FILE

創建臨時文件並授權
···
touch /tmp/mailtmp.txt
chown zabbix.zabbix /tmp/mailtmp.txt
···

上面的這個三個參數是接收從web頁面中傳遞過來的:

1:收件人郵箱地址;2:郵件標題;
$3:郵件內容

注意:要給腳本添加權限
chmod 755 /usr/lib/zabbix/alertscripts/sendmail.sh

配置web頁面
1、創建媒體類型
管理–>報警媒介類型–>創建媒體類型 :類型:腳本。腳本參數如下:


 
image.png

點擊更新,在報警媒介類型中查看到到剛創建的Email類型。

2、給用戶添加報警媒介
此處以Admin用戶為例 管理–>用戶–>點擊Admin
管理-用戶報警媒介,添加郵箱接收人,勾選如下,並點擊添加,在點擊添加。

 
image.png

3、創建動作

名稱自己起,除了操作,其它默認,或者根據自己需求添加

添加新的操作


 
image.png

 
image.png


作者:Firetheworld
鏈接:https://www.jianshu.com/p/6b8a08d6f941
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM