項目實戰12.2—企業級監控工具應用實戰-zabbix操作進階

来源:https://www.cnblogs.com/along21/archive/2017/12/26/8119088.html
-Advertisement-
Play Games

無監控,不運維。好了,廢話不多說,下麵都是乾貨。 流量黨勿入,圖片太多!!! 項目實戰系列,總架構圖 http://www.cnblogs.com/along21/p/8000812.html 一、User parameters 用戶參數 1、介紹和用法 ① 介紹 自定義用戶參數,也就是自定義key ...


無監控,不運維。好了,廢話不多說,下麵都是乾貨。

流量黨勿入,圖片太多!!!

  項目實戰系列,總架構圖 http://www.cnblogs.com/along21/p/8000812.html

一、User parameters 用戶參數

1、介紹和用法

① 介紹

自定義用戶參數,也就是自定義key

有時,你可能想要運行一個代理檢查,而不是Zabbix的預定義

你可以編寫一個命令檢索需要的數據,並將其包含在代理配置文件("UserParameter"配置參數)的用戶參數

② 用法格式 syntax

UserParameter=<key>,<command>

  A user parameter also contains a key  一個用戶參數也包含一個鍵

  The key will be necessary when configuring an item   在配置監控項時,key是必需的

  Note: Need to restart the agent   註意:需要重新啟動agent 服務

 

2、用法展示

(1)修改agent 端的配置,設置用戶參數

① free | awk '/^Mem/{print $3}' 自己需要查找的參數的命令

② 修改配置文件,把查找參數的命令設為用戶參數

cd /etc/zabbix/zabbix_agentd.d/

vim memory_usage.conf

UserParameter=memory.used,free | awk '/^Mem/{print $3}'

③ systemctl restart zabbix-agent.service 重啟agent 服務

 

(2)在zabbix-server 端,查詢

zabbix_get -s 192.168.30.7 -p 10050 -k "memory.used"

(3)在監控上,設置一個item監控項,使用這個用戶參數

(4)查詢graph 圖形

 

3、用法升級

(1)修改agent 端的配置,設置用戶參數

① 命令行查詢參數的命令

② 修改配置文件,把查找參數的命令設為用戶參數

UserParameter=memory.stats[*],cat /proc/meminfo | awk '/^$1/{print $$2}'

分析:$$2:表示不是前邊調位置參數的$2 ,而是awk 的參數$2

註意:$1是調用前邊的[*],位置參數,第一個參數

 

(2)在zabbix-server 端,查詢使用這個用戶參數的key

 

(3)在監控上,設置一個item監控項,使用這個用戶參數

① 添加Memory Total 的item監控項,使用memory.stats[MemTotal] 的用戶參數

在進程中定義倍數,規定單位

 

② clone 克隆Memory Total 創建Memory Free 的監控項

memory.stats[MemFree] 用戶參數

③ 創建Memory Buffers 的item 監控項,使用 memory.stats[Buffers] 的key

 

(4)上面3個監控項的graph 圖形

① memory total

② memory free

③ buffers

 

4、使用用戶參數監控php-fpm 服務的狀態

在agent 端:

(1)下載,設置php-fpm

① yum -y install php-fpm

② vim /etc/php-fpm.d/www.conf 打開php-fpm的狀態頁面

user = nginx
group = nginx
pm.status_path = /php-fpm-status    #php-fpm 的狀態監測頁面
ping.path = /ping      #ping 介面,存活狀態是否ok
ping.response = pong    #響應內容pong

③ systemctl start php-fpm 開啟服務

 

(2)設置nginx ,設置代理php,和php-fpm的狀態頁面匹配

① vim /etc/nginx/nginx.conf

location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
}
location ~* /(php-fpm-status|ping) {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $fastcgi_script_name;
            include        fastcgi_params;

            allow 127.0.0.1;   #因為這個頁面很重要,所有需加訪問控制
            deny all;

            access_log off;   #訪問這個頁面就不用記錄日誌了
}

② systemctl start nginx 開啟nginx服務

 

(3)在agent 端,設置用戶參數

① 查詢 curl 192.168.30.7/php-fpm-status

② 設置

cd /etc/zabbix/zabbix_agentd.d/

vim php_status.conf

UserParameter=php-fpm.stats[*],curl -s http://127.0.0.1/php-fpm-status | awk '/^$1/{print $$NF}'

分析:設置用戶參數為php-fpm.stats[*],$1為第一個參數;$$NF為awk中的參數,倒數第一列

 

③ 重啟服務

systemctl restart zabbix-agent

 

(4)在zabbix-server 端,查詢使用這個用戶參數的key

zabbix_get -s 192.168.30.7 -p 10050 -k "php-fpm.stats[idle]"

zabbix_get -s 192.168.30.7 -p 10050 -k "php-fpm.stats[active]"

zabbix_get -s 192.168.30.7 -p 10050 -k "php-fpm.stats[max active]"

 

(5)創建一個模板,在模板上創建4個item監控項,使用定義的用戶參數

① 創建一個模板

② 在模板上配置items 監控項,使用剛定義的用戶參數

fpm.stats[total processes]

③ 再clone克隆幾個items監控項

fpm.stats[active processes]

fpm.stats[max active processes]

fpm.stats[idle processes]

 

(6)host主機鏈接模板

 

(7)查看graph 圖形

① php-fpm total processes

② php-fpm active processes

③ php-fpm max active processes

④ php-fpm idle processes

 

(8)把模板導出,可以給別人使用

① 導出模板

最下麵有導出

② 自己定義用戶參數的文件,也不要忘記導出

/etc/zabbix/zabbix_agentd.d/php_status.conf

 

二、Network discovery 網路發現

1、介紹

(1)介紹

網路發現:zabbix server掃描指定網路範圍內的主機

網路發現是zabbix 最具特色的功能之一,它能夠根據用戶事先定義的規則自動添加監控的主機或服務

優點:

  加快Zabbix部署

  簡化管理

在快速變化的環境中使用Zabbix,而不需要過度管理

 

(2)發現方式:

ip地址範圍;

  可用服務(ftp, ssh, http, ...)

  zabbix_agent的響應;

  snmp_agent的響應;

 

(3)網路發現通常包含兩個階段:discovery發現 和actions動作

① discovery:

Zabbix定期掃描網路發現規則中定義的IP範圍;檢查的頻率對於每個規則都是可配置的

每個規則都有一組用於為IP範圍執行的服務檢查

由網路發現模塊執行的服務和主機(IP)的每個檢查都會生成一個發現事件

8種響應事件

② actions:網路發現中的事件可以觸發action,從而自動執行指定的操作,把discvery events當作前提條件;

  Sending notifications 發送通知

  Adding/removing hosts 添加/刪除主機

  Enabling/disabling hosts 啟用/禁用host

  Adding hosts to a group 向組中添加主機

  Removing hosts from a group 移除組中的主機

  Linking hosts to/unlinking from a template 從模板鏈接主機或取消鏈接

  Executing remote scripts 執行遠程腳本

這些事件的配置還可以基於設備的類型、IP 、狀態、上線/ 離線等進行配置

 

(4)網路發現:介面添加

網路發現中添加主機時會自動創建interface 介面

例如:

  如果基於SNMP 檢測成功,則會創建SNMP 介面

  如果某服務同時響應給了agent 和SNMP ,則兩種介面都會創建

  如果同一種發現機制( 如agent) 返回了非惟一數據,則第一個介面被識別為預設,其它的為額外介面

  即便是某主機開始時只有agent 介面,後來又通過snmp 發現了它,同樣會為其添加額外的snmp 介面

  不同的主機如果返回了相同的數據,則第一個主機將被添加,餘下的主機會被當作第一個主機的額外介面

 

2、配置網路發現Network discovery

(1)準備一臺可被掃描發現的主機

① 安裝agent 段的包

yum -y install zabbix-agent zabbix-sender

② 設置agent 配置,可以把之前設置好的node1的配置傳過來

vim /etc/zabbix/zabbix_agentd.conf

Hostname=node2.along.com #只需修改hostname

③ visudo 修改sudo的配置

#Defaults !visiblepw

zabbix ALL=(ALL) NOPASSWD: ALL

④ 開啟服務

systemctl start zabbix-agent

 

(2)設置自動發現規則discovery

註釋:

① key:zabbix_get -s 192.168.30.2 -p 10050 -k "system.hostname"

② 更新間隔:1h就好,不要掃描太過頻繁,掃描整個網段,太廢資源;這裡為了實驗,設為1m

 

(3)自動發現成功

 

(4)設置自動發現discovery 的動作action

a) 創建

b) 設置action動作

① 設置A條件,自動發現規則=test.net

② 設置B條件,自動發現狀態=up

③ 要做什麼操作

添加主機到監控

自動鏈接Template OS Linux 到此host

c) 配置action 完成,預設是disabled 停用的

d) 啟用動作,查看效果

確實已經生效,添加主機成功,模板鏈接成功

 

(5)如果自己需要添加的主機已經掃描添加完成,就可以關閉網路掃描了,因為太耗資源

 

三、web監控

1、介紹

(1)介紹

① Web監控:監控指定的站點的資源下載速度,及頁面響應時間,還有響應代碼

② 術語:

  web Scenario: web場景(站點)

  web page :web頁面,一個場景有多個頁面

  內建key:要測一個頁面,要測三個步驟(下邊3個內建key)

③ 內建key:

   web.test.in[Scenario,Step,bps]:傳輸速率

   web.test.time[Scenario,Step]: 響應時長

   web.test.rspcode[Scenario,Step]:響應碼

 

2、創建設置web場景

(1)創建

 

(2)配置web 監測

① 點擊步驟,設置web page web頁面

a) 設置名為home page,URL為http://192.168.30.7/index.html 的web頁面

b) 設置名為fpm status,URL為http://192.168.30.7/fpm-status 的web頁面

c) 設置2個web頁面成功

② 如果有特殊認證,也可以添加

 

3、查看測試

 

四、主動/被動 監控

1、介紹

(1)主動/被動介紹

  被動檢測:相對於agent而言;agent, server向agent請求獲取配置的各監控項相關的數據,agent接收請求、獲取數據並響應給server;

  主動檢測:相對於agent而言;agent(active),agent向server請求與自己相關監控項配置,主動地將server配置的監控項相關的數據發送給server;

  主動監控能極大節約監控server 的資源。

(2)zabbix_sender發送數據:實現人工生成數據,發給server端

① zabbix server上的某主機上,直接定義Item時隨便定義一個不與其它已有key衝突的key即可,即item type為"zabbix trapper";

② 用法選項:

zabbix_sender

  -z zabbix_server_ip

  -p zabbix_server_port

  -s zabbix_agent_hostname

  -k key

  -o value 值

 

2、設置一個通過內建key發送數據的主動監控

(1)agent端所需要基本配置:

ServerActive=192.168.30.107   給哪個監控server 發送數據
Hostname=node1.along.com   自己的主機名,假設主機定死了,不設置下一項
#HostnameItem=   如果自己的主機名易變動,這一項相當於key一樣去匹配

註意:若後兩項同時啟用,下邊一個選擇生效

 

(2)設置一個主動監測

① 選擇進程,每秒更改,

因為key:system.cpu.switches :上下文的數量進行切換,它返回一個整數值。為了監控效果,選擇下一秒減上一秒的值作為監控

(3)已經有啦graph圖形

 

3、設置一個通過命令zabbix_sender發送數據的主動監控

(1)配置一個zabbix traper(採集器) 的item 監控項

(2)agent 端手動發送數據

(3)監控到數據的變化

 

五、基於SNMP監控(瞭解)

1、介紹

(1)介紹

SNMP:簡單網路管理協議;(非常古老的協議)

三種通信方式:讀(get, getnext)、寫(set)、trap(陷阱);

埠:

  161/udp

  162/udp

SNMP協議:年代久遠

  v1: 1989

  v2c: 1993

  v3: 1998

監控網路設備:交換機、路由器

MIB:Management Information Base 信息管理基礎

OID:Object ID 對象ID

 

(2)Linux啟用snmp的方法:

yum install net-snmp net-snmp-utils

配置文件:定義ACL

  /etc/snmp/snmpd.conf

啟動服務:

  systemctl start snmpd 被監控端開啟的服務

   systemctl start snmptrapd    監控端開啟的服務(如果允許被監控端啟動主動監控時啟用)

 

(3)配置文件的介紹

開放數據:4步

① 定義認證符,將社區名稱"public"映射為"安全名稱"

② 將安全名稱映射到一個組名

③ 為我們創建一個視圖,讓我們的團隊有權利

掩碼:我列出一些註釋,有很多,可以再網上查詢

.1.3.6.1.2.1.

   1.1.0:系統描述信息,SysDesc

   1.3.0:監控時間, SysUptime

   1.5.0:主機名,SysName

   1.7.0:主機提供的服務,SysService

.1.3.6.1.2.2.

   2.1.0:網路介面數目

   2.2.1.2:網路介面的描述信息

   2.2.1.3:網路介面類型

   ……

④ 授予對systemview視圖的只讀訪問權

 

(4)測試工具:

    # snmpget -v 2c -c public HOST OID

    # snmpwalk -v 2c -c public HOST OID 通過這個埠查詢到的數據,全列出了

 

2、配置SNMP監控

(1)下載,修改配置文件

vim /etc/snmp/snmpd.conf

view    systemview    included   .1.3.6.1.2.1.1
view    systemview    included   .1.3.6.1.2.1.2   # 網路介面的相關數據
view    systemview    included   .1.3.6.1.4.1.2021   # 系統資源負載,memory, disk io, cpu load 
view    systemview    included   .1.3.6.1.2.1.25

(2)在agent 上測試

snmpget -v 2c -c public 192.168.30.2 .1.3.6.1.2.1.1.3.0

snmpget -v 2c -c public 192.168.30.2 .1.3.6.1.2.1.1.5.0

 

(3)在監控頁面,給node2加一個snmp的介面

(4)在node2上加一個 Template OS Linux SNMPv2 模板

模板添加成功,生成一系列東西

點開一個item 看一下

 

(5)生成一些最新數據的圖形graph了

 

3、設置入站出站packets 的SNMP監控

(1)監控網路設備:交換機、路由器的步驟:

① 把交換機、路由器的SNMP 把對應的OID的分支啟用起來

② 瞭解這些分支下有哪些OID,他們分別表示什麼意義

③ 我們要監控的某一數據:如交換機的某一個介面流量、報文,發送、傳入傳出的報文數有多少個;傳入傳出的位元組數有多少個,把OID取出來,保存

 

(2)定義入站出站的item監控項

interface traffic packets(in)

interface traffic packets(out)

 

六、JMX介面

1、介紹

(1)介紹

Java虛擬機(JVM)具有內置的插裝,使您能夠使用JMX監視和管理它。您還可以使用JMX監視工具化的應用程式。

(2)配置設置介紹

① zabbix-java-gateway主機設置:

  安裝 zabbix-java-gateway程式包,啟動服務;

  yum -y install zabbix-java-gateway

② zabbix-server端設置(需要重啟服務):

  JavaGateway=172.16.0.70

  JavaGatewayPort=10052

  StartJavaPollers=5 #監控項

③ tomcat主機設置:

   監控tomcat:

     /etc/sysconfig/tomcat,添加

  CATALINA_OPTS="-Djava.rmi.server.hostname=TOMCAT_SERVER_IP -Djavax.management.builder.initial= -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"   #啟用JVM介面,預設沒有啟用

 

  添加監控項:

    jmx[object_name,attribute_name]

      object name - 它代表MBean的對象名稱

      attribute name - 一個MBean屬性名稱,可選的複合數據欄位名稱以點分隔

    示例:

       jmx["java.lang:type=Memory","HeapMemoryUsage.used"]

 

④ jmx的詳細文檔:https://docs.oracle.com/javase/1.5.0/docs/guide/management/agent.html

 

2、配置JVM介面監控

(1)安裝配置tomcat

① 下載安裝tomcat,主要是用JVM

yum -y install java-1.8.0-openjdk-devel tomcat-admin-webapps tomcat-docs-webapp

② 加CATALINA_OPTS= #啟用JVM介面,預設沒有啟用

vim /etc/sysconfig/tomcat

CATALINA_OPTS="-Djava.rmi.server.hostname=192.168.30.2 -Djavax.management.builder.initial= -Dcom.sun.management.jmxremote=true   -Dcom.sun.management.jmxremote.port=12345  -Dcom.sun.management.jmxremote.ssl=false  -Dcom.sun.management.jmxremote.authenticate=false"

③ 開啟服務

systemctl start tomcat

 

(2)在zabbix-server 端,安裝配置java-gateway

① 安裝配置java-gateway

yum -y install zabbix-java-gateway

/etc/zabbix/zabbix_java_gateway.conf 安裝完後,會生成一個java_gateway 的配置文件

systemctl start zabbix-java-gateway.service 不用修改,直接開啟服務

 

② 修改server 配置,開啟java-gateway的配置

vim /etc/zabbix/zabbix_server.conf

JavaGateway=192.168.30.107  
JavaGatewayPort=10052
StartJavaPollers=5    #打開5個監控項

③ systemctl restart zabbix-server 重啟zabbix-server 服務

 

(3)在node2 主機上添加JMX介面,實驗模板

① 添加JMX介面

② 在node2 上連接tomcat JMX 模板

③ 隨便查看一個監控項item

 

(4)自己定義一個堆記憶體使用的監控項,基於JVM介面(沒必要,使用模板就好)

 

七、分散式監控

1、介紹

(1)介紹

分散式監控概述

  proxy and node

Zabbix 的三種架構

  Server-agent

  Server-Node-agent

  Server-Proxy-agent

監控Zabbix

 

(2)配置介紹

Zabbix Proxy的配置:

  server-node-agent

  server-proxy-agent

a) 配置proxy主機:

(1) 安裝程式包

    zabbix-proxy-mysql zabbix-get

    zabbix-agent zabbix-sender

(2) 準備資料庫

  創建、授權用戶、導入schema.sql;

(3) 修改配置文件

  Server=

    zabbix server主機地址;

  Hostname=

    當前代理伺服器的名稱;在server添加proxy時,必須使用此處指定的名稱;

    =需要事先確保server能解析此名稱;

  DBHost=

  DBName=

  DBUser=

  DBPassword=

 

  ConfigFrequency=10

  DataSenderFrequency=1

 

b) 在server端添加此Porxy

    Administration --> Proxies

 

c) 在Server端配置通過此Proxy監控的主機;

註意:zabbix agent端要允許zabbix proxy主機執行數據採集操作:

 

2、實現分散式zabbix proxy監控

實驗前準備:

① ntpdate 172.168.30.1 同步時間

② 關閉防火牆,selinux

③ 設置主機名 hostnamectl set-hostname zbproxy.along.com

④ vim /etc/hosts 每個機器都設置hosts,以解析主機名;DNS也行

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

(1)環境配置(4台主機)

機器名稱

IP配置

服務角色

zabbix-server

192.168.30.107

監控

agent-node1

192.168.30.7

被監控端

agent-node2

192.168.30.2

被監控端

node3

192.168.30.3

代理proxy

 

zabbix-server 直接監控一臺主機node1

zabbix-server 通過代理node3 監控node2

 

(2)在node3 上配置mysql

① 創建配置mysql

vim /etc/my.cnf.d/server.cnf

[server]
skip_name_resolve = on
innodb_file_per_table = on
innodb_buffer_pool_size = 256M
max_connections = 2000
log-bin = master-log

② systemctl start mariadb 開啟服務

③ 創建資料庫 和 授權用戶

MariaDB [(none)]> create database zbxproxydb character set 'utf8';
MariaDB [(none)]> grant all on zbxproxydb.* to 'zbxproxyuser'@'192.168.30.%' identified by 'zbxproxypass';
MariaDB [(none)]> flush privileges;

(3)在node3 上下載zabbix 相關的包,主要是代理proxy的包

yum -y install zabbix-proxy-mysql zabbix-get zabbix-agent zabbix-sender

 

a) 初始化資料庫

zabbix-proxy-mysql 包裡帶有,導入數據的文件

cp /usr/share/doc/zabbix-proxy-mysql-3.4.4/schema.sql.gz ./ 複製

gzip -d schema.sql.gz 解包

mysql -root -p zbxproxydb < schema.sql 導入數據

 

b) 查看數據已經生成

 

(4)配置proxy端

① vim /etc/zabbix/zabbix_proxy.conf

Server=192.168.30.107   #server 的IP
ServerPort=10051   #server 的埠

Hostname=zbxproxy.along.com   #主機名
ListenPort=10051    #proxy自己的監聽埠
EnableRemoteCommands=1    #允許遠程命令
LogRemoteCommands=1    #記錄遠程命令的日誌

數據的配置
DBHost=192.168.30.3
DBName=zbxproxydb  
DBUser=zbxproxyuser
DBPassword=zbxproxypass

ConfigFrequency=30    #多長時間,去服務端拖一次有自己監控的操作配置;為了實驗更快的生效,這裡設置30秒,預設3600s
DataSenderFrequency=1   #每一秒向server 端發一次數據,發送頻度

② systemctl start zabbix-proxy 開啟服務

 

(5)配置node2端,允許proxy代理監控

vim /etc/zabbix/zabbix_agentd.conf

Server=192.168.30.107,192.168.30.3
ServerActive=192.168.30.107,192.168.30.3

systemctl restart zabbix-agent 啟動服務

 

(6)把代理加入監控server,創建配置agent 代理

① 創建agent 代理

② 配置

 

(7)創建node2 主機,並採用代理監控

設置代理成功

 

(8)創建item監控項

① 為了實驗,隨便創一個監控項 CPU Switches

② 進程里設置每秒更改

③ 成功,graph 圖形生成

 

八、查詢使用網上模板監控

1、找官方的share 分享網站

https://cn.bing.com/ 搜索 zabbix share

例如:我們要實現監控Nginx ,我們查找一個模板

就以這個模板為例

 

2、在node1 上使用此模板

(1)安裝配置 nginx

① yum -y install nginx

vim /etc/nginx/nginx.conf 按照網頁的操作指示

location /stub_status {
        stub_status on;
        access_log off;
    #    allow 127.0.0.1;   #為了操作方便,我取消的訪問控制
    #    deny all;
}

② 啟動服務

systemctl restart nginx

 

(2)下載模板所依賴的腳本

mkdir -p /srv/zabbix/libexec/

cd /srv/zabbix/libexec/

wget https://raw.githubusercontent.com/oscm/zabbix/master/nginx/nginx.sh 從網頁上獲取腳本

chmod +x nginx.sh 加執行許可權

 

(3)配置agent 的用戶參數UserParameter

cd /etc/zabbix/zabbix_agentd.d/

wget https://raw.githubusercontent.com/oscm/zabbix/master/nginx/userparameter_nginx.conf 很短,自己寫也行

(4)在windows 上下載模板,並導入這server 的模板中

wget https://raw.githubusercontent.com/oscm/zabbix/master/nginx/zbx_export_templates.xml 可以現在linux上下載,再sz 導出到windows上

① 導入下載的模板

② 主機node1 鏈接這個模板

③ 模板生效

 

九、zabbix-server 監控自己,資料庫,nginx

1、下載安裝,配置agent

vim /etc/zabbix/zabbix_agentd.conf 配置agent

EnableRemoteCommands=1    允許遠程命令
LogRemoteCommands=1    記錄遠程命令
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=server.along.com

2、自動生成Zabbix server 的主機

3、在主機中添加模板

4、啟用Zabbix server

5、監控到數據

 

十、調優

1、調優

① Database:

  歷史數據不要保存太長時長;

  儘量讓數據緩存在資料庫伺服器的記憶體中;

② 觸發器表達式:減少使用聚合函數 min(), max(), avg();儘量使用last(),nodata();

  因為聚合函數,要運算

③ 數據收集:polling較慢(減少使用SNMP/agentless/agent);儘量使用trapping(agent(active)主動監控);

④ 數據類型:文本型數據處理速度較慢;儘量少收集類型為文本 text或string類型的數據;多使用類型為numeric 數值型數據 的;

 

2、zabbix伺服器的進程

(1) 伺服器組件的數量;

  alerter, discoverer, escalator, http poller, hourekeeper, icmp pinger, ipmi polller, poller, trapper, configration syncer, ...

 

  StartPollers=60

  StartPingers=10

  ...

  StartDBSyncer=5

  ...

 

(2) 設定合理的緩存大小

   CacheSize=8M

   HistoryCacheSize=16M

   HistoryIndexCacheSize=4M

   TrendCacheSize=4M

   ValueCacheSize=4M

 

(3) 資料庫優化

  分表:

    history_*

    trends*

    events*

 

3、其它解決方案

grafana:展示

collectd:收集

influxdb:存儲

 

grafana+collectd+influxdb

 

prometheus:

   exporter:收集

   alertmanager:

grafana:展示

 

openfalcon


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • WinMain即(函數運行入口): int WINAPI WinMain (HINSTANCE hinstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int iCmdShow) { MessageBox(NULL,TEXT("Hello,Window 9 ...
  • 最近粗淺的學習了下AutoMapper 這個做對象映射的第三方工具,覺得非常方便使用,所以簡單的總結了一下我能想到的簡單的對象映射的方式。 占時先不考慮源對象成員到目標對象成員的指定映射(即成員名不一致),先準備好兩個類Students-StudentsDto;Teachers-TeachersDt ...
  • “映像劫持”,也被稱為“IFEO”(Image File Execution Options),在WindowsNT架構的系統里,IFEO的本意是為一些在預設系統環境中運行時可能引發錯誤的程式執行體提供特殊的環境設定。當一個可執行程式位於IFEO的控制中時,它的記憶體分配則根據該程式的參數來設定,而W ...
  • Orchard Core Framework:ASP.NET Core 模塊化,多租戶框架 上一篇編寫Orchard Core一分鐘搭建ASP.NET Core CMS ,介紹ASP.NET Core CMS ,Orchard的ASP.NET Core版,同時對應有一個ASP.NET Core框架。 ...
  • 1. 前言 "上一篇文章" 介紹了各種WPF本地化的入門知識,這篇文章介紹UWP本地化的入門知識。 2. 使用resw資源文件實現本地化 在以前的XAML平臺,resx資源文件是一種很方便的本地化方案,但在UWP中微軟又再次推薦x:Uid方案,預設的資源文件也變成resw資源文件。雖然尾碼名只差了一 ...
  • 背水一戰 Windows 10 之 全球化: Demo, 格式化數字 ...
  • 一、為什麼會用到網頁實時監控 LZ最近在無錫買房了,雖然在上海工作,但是上海房價實在太高無法承受,所以選擇還可以接受的無錫作為安身之地。買過房的小伙伴可能知道買房的流程,買房中間有一步很重要的就是需要商品房備案,簡單點說就是你買房時可以在政府商品房備案網站處查看你購買房的備案情況,如果是已經備案了開 ...
  • 一、統一賬號管理 1.LDAP 統一管理各種平臺帳號和密碼,包括但不限於各種操作系統(Windows、Linux),Linux系統sudo集成,系統用戶分組,主機登入限制等;可與Apache,HTTP,FTP,SAMBA,ZABBIX,Jenkins等集成;支持密碼策略(密碼強度、密碼過期時間、強制 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...