無監控,不運維。好了,廢話很少說,下面都是乾貨。php
警告:流量黨勿入,圖片太多!!!html
項目實戰系列,總架構圖 http://www.cnblogs.com/along21/p/8000812.htmljava
① ntpdate 192.168.30.1 同步時間mysql
③ vim /etc/hosts 每一個機器都設置hosts,以解析主機名;DNS也行ios
192.168.30.107 server.along.com 192.168.30.7 node1.along.com 192.168.30.2 node2.along.com 192.168.30.3 node3.along.com zbproxy.along.com
① 去官網,下載本身須要的版本https://www.zabbix.com/downloadredis
zabbix-agent-3.4.4-2.el7.x86_64.rpm 監控(安裝在被監控者,固然監控本身也須要監控)
zabbix-get-3.4.4-2.el7.x86_64.rpm 在server端,手工鏈接agent 獲取數據的,作測試的
zabbix-java-gateway-3.4.4-2.el7.x86_64.rpm 基於JAM監控時使用的
zabbix-proxy-mysql-3.4.4-2.el7.x86_64.rpm
zabbix-proxy-pgsql-3.4.4-2.el7.x86_64.rpm
zabbix-proxy-sqlite3-3.4.4-2.el7.x86_64.rpm
zabbix-sender-3.4.4-2.el7.x86_64.rpm 安裝在agent端,主動監控模式下,向server端發送測試數據使用的
server 取決本身的存儲系統選mysql 或 pgsql:
zabbix-server-mysql-3.4.4-2.el7.x86_64.rpm
zabbix-server-pgsql-3.4.4-2.el7.x86_64.rpm
zabbix-web-3.4.4-2.el7.noarch.rpm web部位,核心包
zabbix-web-japanese-3.4.4-2.el7.noarch.rpm 專用日語的web部位
zabbix-web-mysql-3.4.4-2.el7.noarch.rpm
zabbix-web-pgsql-3.4.4-2.el7.noarch.rpm
zabbix-release-3.4-2.el7.noarch.rpm zabbix下載的源
① 安裝官方的源
zabbix-release-3.4-2.el7.noarch.rpm 直接下載源
rpm -ivh zabbix-release-3.4-2.el7.noarch.rpm
yum repolist 能夠查看本身的倉庫有zabbix源了
② 安裝
yum -y install zabbix-agent zabbix-get zabbix-sender zabbix-server-mysql zabbix-web zabbix-web-mysql
(1)vim /etc/my.cnf.d/server.cnf 子配置文件
[server] skip_name_resolve = on innodb_file_per_table = on innodb_buffer_pool_size = 256M #buffer緩存大小 max_connections = 2000 #最大鏈接數 log-bin = master-log #二進制日誌
(2)建數據庫,受權,刷新權限
MariaDB [(none)]> create database zbxdb character set 'utf8'; MariaDB [(none)]> grant all on zbxdb.* to zbxuser@'192.168.30.%' identified by 'zbxpass'; MariaDB [(none)]> flush privileges;
rpm -ql zabbix-server-mysql 下包的時候,帶有數據庫文件的解壓包
cp /usr/share/doc/zabbix-server-mysql-3.4.4/create.sql.gz ./ 考到root下,解壓
mysql -uroot -p zbxdb < create.sql 導入數據
cp zabbix_server.conf{,.bak} 先備份,養成好習慣
grep -i "^####" zabbix_server.conf 查看有幾個配置段
GENERAL PARAMETERS 通常性配置
ADVANCED PARAMETERS 高級配置
LOADABLE MODULES 可加載模塊
TLS-RELATED PARAMETERS 配置加密的東西,如私鑰證書等
grep -i "^###" zabbix_server.conf 能夠查看一下須要配置的選項
ListenPort=10051 默認端口10051 SourceIP= 發採用數據請求的端口,能夠加多個地址,須要的話本身設置
② 數據庫的配置 DBHost=192.168.30.107 數據庫對外的地址 DBName=zbxdb 數據庫中庫的名字 DBUser=zbxuser 數據庫受權的用戶 DBPassword=zbxpass 密碼 DBPort=3306 數據庫服務端口
systemctl start zabbix-server.service
vim zabbix.conf 額外爲php5 設置了一些參數
# php_value date.timezone Europe/Riga php的時區必須設置,不過有兩處能夠設置,在php的配置文件中設置,或在這裏設置;在這裏設置,只對zabbix有效
vim /etc/php.ini 在php的配置文件中設置,表明對全部使用php的都生效,我就在這裏設置了
① web登陸 http://192.168.30.107/zabbix
Zabbix server is running |
Yes |
192.168.30.107:10051 |
① Number of hosts (enabled/disabled/templates) |
39 |
0 / 1 / 38 |
② Number of items (enabled/disabled/not supported) |
0 |
0 / 0 / 0 |
③ Number of triggers (enabled/disabled [problem/ok]) |
0 |
0 / 0 [0 / 0] |
④ Number of users (online) |
2 |
2 |
⑤ Required server performance, new values per second |
0 |
① 監控主機:已經啓用被監控的主機數量,已經配置好缺被禁止主機數,自帶模板數
④ 當前zabbix有幾個用戶:如今是一個是來賓,一個是管理員
⑤ 重點關注的nvps 每秒的新值(根據咱們定義的監控項,每秒採集過來多少新數據,平均值):
(1)若是英語很差,能夠切換爲中文,但推薦使用英文,爲了更好的講解,博主使用中文示範
yum -y install zabbix-agent zabbix-sender 只需安裝這兩個包就行
① grep -i "^####" zabbix_agentd.conf 先查看一下配置段
GENERAL PARAMETERS 通常配置,有兩個子配置段
Passive checks related 被動接口
Active checks related 主動接口
USER-DEFINED MONITORED PARAMETERS 用戶自定義的監控參數(必要,高級的特性)
LOADABLE MODULES
TLS-RELATED PARAMETERS
② grep -i "^###" zabbix_agentd.conf 查看選項
① EnableRemoteCommands=0 是否容許執行遠程命令,默認是不容許的,有安全風險
② 指定服務器主機,能夠指定多個 Server=192.168.30.107 ③ 本身的今天IP和端口 ListenPort=10050 本身的監聽端口 ListenIP=0.0.0.0 容許監聽在本機的地址,0.0.0.0 是監聽全部 ④ agent個數,被監控項有不少時,能夠多寫幾個 StartAgents=3 默認3個,優化時使用 ⑤ 主動監控的機器地址是誰 StartAgents=192.168.30.107 ⑥ 能被server段解析的主機名,寫IP也行 Hostname=node1.along.com 下邊都是默認值就好
systemctl start zabbix-agent.service
建立一個屬於mysrvs 主機組的node1.along.com 主機,若接口寫主機,要開啓DNS解析
建立3個 CPU Utils 、Memory Stats、Network Interface Stats 的應用集
設置名爲 rate of interrupt 的監控項 items
① key鍵值:內建key 、自定義key;對應的是命令;服務器自動執行key,就至關於採集數據
每個key 都對應,能在客戶端/agent端,執行的命令;該命令能幫咱們取回關係型數據
在命令行 zabbix_get -s 192.168.30.7 -p 10050 -k "system.cpu.intr"
對於非關鍵型指標,不要太頻繁,使服務器壓力很大;推薦5分鐘,或以上
(1)對node1 添加名爲rate of packets(in) 入站包的個數 的items監控項
① key 值選的是: net.if.in[if,<mode>]網絡接口上傳流量統計;能夠加參數
① 設置rate of packets(out) 出站包的個數,由於和in 很類似,能夠克隆再設置
① 界定某特定的item採集到的數據的非合理區間或非合理狀態:邏輯表達式
OK:正常 狀態 --> 不知足閾值(不合理區間)爲OK
PROBLEM:非正常狀態 --> 知足閾值
nodata():沒有數據
last():最近幾回的平均值
date()
time()
now()
dayofmonth()
...
注意:經常使用nodata()、last();能用數值採集的結果保存,就不要用字符串;計算機處理數值要快的多
例如,當某網關主機不可用時,其背後的全部主機都將沒法正常訪問
若是全部主機都配置了觸發器並定義了相關的通知功能,相關人員將會接收到許多告警信息,這既不利於快速定位問題,也會浪費資源
正肯定義的觸發器依賴關係能夠避免相似狀況的發生,它將使用通知機制僅發送最根本問題相關的告警
② 注意:目前zabbix 不可以直接定義主機間的依賴關係,其依賴關係僅能經過觸發器來定義
Media:媒介,告警信息的傳遞通道;任何用戶收到報警信息,都須要有媒介的端口
類型:下面3箇中國都沒實現,中國能夠實現微信,須要特殊插件
Email:郵件
Script:自定義腳本,每個script都是一個媒介
SMS:短信,只適用於北美地區
Jabber:
Ez Texting:
接收信息的目標爲zabbix用戶:
須要用戶上定義對應各類媒介通道的接收方式;
(2)定義一個media ,能夠在email 模板上直接修改
yum -y install redis 下載一個redis 服務作實驗
② 由於要執行動做時需遠程操做,給admin 用戶設置sudo權限
zabbix ALL=(ALL) NOPASSWD: ALL 容許zabbix用戶能在全部主機,以全部人的身份執行全部命令
Defaults !visiblepw 默認全部命令要依靠tty執行,先註釋掉
b) vim zabbix_agentd.conf 設置agent容許執行遠程命令
EnableRemoteCommands=1 容許執行遠程命令
LogRemoteCommands=1 把遠程執行的命令記錄在日誌中
systemctl restart zabbix-agent.service 重啓zabbix-agent服務
net.tcp.listen[port] 監聽本地listen:檢查 TCP端口是否處於偵聽狀態,返回 0 - 未偵聽;1 - 正在偵聽
net.tcp.port[<ip>,port]:server遠程掃描redis服務:檢查是否能創建 TCP 鏈接到指定端口,返回 0 - 不能鏈接;1 - 能夠鏈接
net.tcp.service[service,<ip>,<port>] 直接指定服務:檢查服務是否運行並接受 TCP 鏈接,返回 0 - 服務關閉;1 - 服務運行
② 執行動做,10s,第一個action 1 執行成功,problem問題解決
由於第一個action1 執行成功,因此action 2沒有執行
③ 恢復操做執行了,zabbix server 收到了mail "Resolved"
systemctl stop redis && rpm -e redis 中止服務,且刪除redis
設置一個名爲interface traffic packets 的圖形
工做時間:白色
非工做時間:黑色
① interface traffic bytes 加入2個監控項
Local network 自帶的maps 拓撲圖;用處不是想象中那麼大,就不講了
主機配置模板:用於連接至目標主機實現快速監控管理;
link, unlink, unlink and clear
模板可繼承;
主機link多個模板必須注意,模板們不能含有相同的item key。trigger和graphs中使用的items不能是來自多個模板。
③ complete 模板,應用集application、監控項items、觸發器triggers、圖形graphs、屏幕screens、自動發現discover rules、web檢測web scenarios。
模板complete 的一系列添加設置,和主機host 幾乎如出一轍,可是不會直接生效、採集數據;只有連接至主機才能生效、採集數據
區別:主機接口;complete 沒有;host 有
(4)不想在host主機中使用模板,能夠取消連接 或 取消並清除
若是有不少屬於同一組內的主機host,想快速基於某模板監控,組group添加模板
全局:Administration --> General --> Macros ,對全部主機、全部模板都有效,優先級很低
模板:編輯模板 --> Macros ,對全部連接至此模板的主機都有效
主機:編輯主機 --> Macros ,僅對單個主機有效
內建宏:調用 {MACRO_NAME}
自定義:{$MACRO_NAME} ;命名方式:大寫字母、數字和下劃線
https://www.zabbix.com/documentation/3.4/manual/appendix/macros/supported_by_location
注意:宏的優先級:host 主機宏 > complete 模板宏 > 全局宏
下篇zabbix 操做進階更精彩~~~