Zabbix,Prometheus
文章目錄
- Zabbix
- 1.zabbix工作流程:
- 2.實施監控:
- 3.自定義監控項:
- 4.實施告警:
- 5.自動發現:批量添加監控主機
- 6.主動監控:被監控的主機、主動向服務器匯報狀態
- 7.拓撲圖和聚合圖形:可以更加方便的管理主機和查看數據
- 8.zabbix進程詳解:
- 1.zabbix_agentd
- 2.zabbix_server
- 3.zabbix_proxy
- 4.zabbix_get
- 5.zabbix_sender
- 6.zabbix_java_gateway
- 9.監控命令
- Prometheus
- 1.簡介:
- 2.特點:
- 3.Prometheus組件介紹:
- 4.Prometheus工作流程:
- Zabbix和Prometheus對比分析:
Zabbix
1.zabbix工作流程:
- 數據采集:agent、snmp
- 數據存儲:數據庫(MySQL)
- 數據呈現:web頁面
2.實施監控:
- 在客戶端安裝agent
- 在zabbix中創建主機、添加模板
3.自定義監控項:
- 修改客戶端配置文件,以支持自定義監控項
- 創建自定義的key
- 在zabbix中創教模板、模板中創建應用集、應用集中創建監控項、監控項對應key
- 將模板連接到主機
4.實施告警:
- 定義觸發器
- 創建動作、觸發器觸發時、給管理員發郵件
- 配置報警媒介類型-郵件、設置郵件服務器的地址及發件人
- 配置管理員的郵箱
5.自動發現:批量添加監控主機
6.主動監控:被監控的主機、主動向服務器匯報狀態
7.拓撲圖和聚合圖形:可以更加方便的管理主機和查看數據
8.zabbix進程詳解:
在默認的情況下,zabbix有6個工作進程,分別是zabbxi_agented,zabbix_get,zabbix_proxy,zabbix_sender,zabbix_server,zabbix_gateway。其中zabbix_java_gateway是可選進程。
1.zabbix_agentd
zabbix客戶端守護進程,主要負責收集客戶端監控項數據(端口:10050)
2.zabbix_server
zabbix服務端守護進程,主要負責收集客戶端數據(端口:10051)
3.zabbix_proxy
zabbix的代理程序,其功能類似于server,作用上類似于一個中轉站,最終會把收集的數據再次提交給zabbix_server
4.zabbix_get
zabbix_get作為zabbix工具,通常運行在zabbix_server或者zabbix_proxy上,用于遠程獲取客戶端信息,通常用于排錯
5.zabbix_sender
zabbix_sender也是zabbix的一個工具,通常運行在zabbix的客戶端,用于耗時比較長的檢查,其作用是主動發送數據、
6.zabbix_java_gateway
zabbix_java_gateway是zabbix2.0以后引入的新功能,可以用于Java方面的設備;但是只能主動獲取數據,而不能被動獲取數據
9.監控命令
free -m #查看內存 swapon -s #查看交換空間 df -h #查看硬盤使用情況 uptime #查看系統負載 top #類似任務管理器 ps -aux #顯示進程號 crontab -l #顯示系統計劃任務 du -sh #查看目錄或文件大小 uname -r #查看系統內核 lscpu #查看系統cpu cat /etc/redhat-release #查看linux系統版本 cat /proc/meminfo #查看系統完整內存信息Prometheus
1.簡介:
-
開源的系統監控和報警系統(常用于容器的監控)
-
加入到了CFCN(云原生基金會)
-
支持多種exporter采集數據
-
支持pushgateway進行數據上報
-
性能足夠支撐上萬規模的集群
2.特點:
- 多維度數據模型
- 靈活的查詢語言(PromQL)
- 可以直接在本地部署,不依賴其他分布式存儲
- 通過基于HTTP的pull方式采集時序數據
- 可以通過中間網關pushgateway的方式把時間序列數據推送到prometheus server 端
- 可通過服務發現或者靜態配置來發現目標服務對象(targets)
- 有多種可視化圖形化界面,如Grafana
- 高效的存儲,每個采樣數據占3.5bytes左右,300萬的時間序列,30s間隔,保留60天,消耗磁盤大概200G
- 做高可用,可以對數據做異地備份,聯邦集群,部署多套prometheus,pushgateway上報數據
3.Prometheus組件介紹:
- Prometheus Server:用于收集和存儲時間序列數據(端口:9090)
- Client Library: 客戶端庫,檢測應用程序代碼,當Prometheus抓取實例的HTTP端點時,客戶端庫會將所有跟蹤的metrics指標的當前狀態發送到prometheus server端
- Exporters: prometheus支持多種exporter,通過exporter可以采集metrics數據,然后發送到prometheus server端,所有向promtheus server提供監控數據的程序都可以被稱為exporter(端口:9100)
- Alertmanager: 從 Prometheus server 端接收到 alerts 后,會進行去重,分組,并路由到相應的接收方,發出報警,常見的接收方式有:電子郵件,微信,釘釘, slack等
- Grafana:監控儀表盤,可視化監控數據
- pushgateway: 各個目標主機可上報數據到pushgateway,然后prometheus server統一從pushgateway拉取數據。
從上圖可發現,Prometheus整個生態圈組成主要包括prometheus server,Exporter,pushgateway,alertmanager,grafana,Web ui界面,Prometheus server由三個部分組成,Retrieval,Storage,PromQL
- Retrieval負責在活躍的target主機上抓取監控指標數據
- Storage存儲主要是把采集到的數據存儲到磁盤中
- PromQL是Prometheus提供的查詢語言模塊。
4.Prometheus工作流程:
-
Prometheus server可定期從活躍的(up)目標主機上(target)拉取監控指標數據,目標主機的監控數據可通過配置靜態job或者服務發現的方式被prometheus server采集到,這種方式默認的pull方式拉取指標;也可通過pushgateway把采集的數據上報到prometheus server中;還可通過一些組件自帶的exporter采集相應組件的數據;
-
Prometheus server把采集到的監控指標數據保存到本地磁盤或者數據庫;
-
Prometheus采集的監控指標數據按時間序列存儲,通過配置報警規則,把觸發的報警發送到alertmanager
-
Alertmanager通過配置報警接收方,發送報警到郵件,微信或者釘釘等
-
Prometheus 自帶的web ui界面提供PromQL查詢語言,可查詢監控數據
-
Grafana可接入prometheus數據源,把監控數據以圖形化形式展示出
Zabbix和Prometheus對比分析:
總結
以上是生活随笔為你收集整理的Zabbix,Prometheus的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过PS神还原“宫崎骏”式的动漫真人效果
- 下一篇: 地图手绘图生成切片位置进行微调,使图片更