自動化---zabbbix監控

 

《架構師之運維監控》php

PS:監控是什麼,運維喝茶之道。html

(凡人)前端

1.識別監控對象(分級)node

2.理解監控對象(理論知識)mysql

3.細分監控對象的指標linux

4.肯定告警的基準線nginx

預中級(築基)web

1.工具化和監控分離sql

2.監控對象的分類:數據庫

2.1硬件監控(方法:機房巡檢,IPMI,SNMP)   https://www.ibm.com/developerworks/cn/linux/l-ipmi/index.html      # yum install OpenIPMI ipmitool  -y    systemctl start ipmi

2.2系統監控(對象:CPU,內存,IO(磁盤,網絡)

2.3服務監控(對象:各種服務(nginx|tomcat|RabbitMQ|mysql..)

2.4日誌監控(方法:Elastic Stack)

2.5網絡監控(方法:第三方,smokeping)

2.6APM應用性能管理(工具:PINpoint)

2.7流量監控(工具:piwik,XX統計,XX分析)

2.8其餘監控(APP監控,安全監控,業務監控,輿論監控,等等)

3.掌握一個監控工具,例如zabbix

中級(元嬰)

1.標準化監控(標準化的腳本,模板)

2.分佈式監控(主動,被動,分佈式)

3.性能優化(數據採集,數據存儲,數據查詢)

4.二次開發(定製報表,API調用,XXX)

進階(渡劫  從精通到放棄)

1.告警閾值動態化

2.智能告警:1告警去重 2.依賴

3.故障自愈(事件驅動,主動控住)

4.大規模

 

#####################經過硬件來監控

 https://www.ibm.com/developerworks/cn/linux/l-ipmi/index.html     

# yum install OpenIPMI ipmitool  -y   

#systemctl start ipmi

###############經過snmp監控

root@cobbler ~]# yum install -y net-snmp net-snmp-libs -y

[root@cobbler ~]# vim /etc/snmp/snmpd.conf

 41 com2sec admin  default       admin                             #####                   配置的用戶      團體名稱

 48 group   admin v2c           admin                                   #####     定義組 把用戶放入組裏   第一個admin是用戶   v2c是協議    第二個admin是組

 57 view    admin    included   .1 80                          ####    賦予權限由於是樹結構 .1是全部權限

 64 access  admin ""      any       noauth    exact  admin admin none        ####用戶組admin       ##不須要驗證    ####admin用戶

[root@cobbler ~]# systemctl start snmpd                                                 ######開啓服務 [root@cobbler ~]# ss -ln |grep 161 udp    UNCONN     0      0         *:161                   *:*                              #####snmp 默認是UDP協議,161端口

[root@cobbler ~]# snmpget -v2c -c admin 192.168.1.102 .1.3.6.1.4.1.2021.10.1.3.1     ###檢測CPU

 https://blog.csdn.net/apple_llb/article/details/50494787     #####具體一些監控項看這個網頁內容

   

########系統監控

CPU :

   進程:每個進程,至少有一個線程。

             每一個進程能夠有多個線程

   負載:單位時間內運行隊列中就緒等待的進程

內存:

    虛擬內存,swap,物理內存

     內存頁

IO     須要yum安裝

   iotop

   iftop

   nethogs

 

 

zabbix部署

1.時間同步

[root@cobbler ~]# yum install -y ntpdate

[root@cobbler ~]# echo '* * * * * /usr/sbin/ntpdate ntp1.aliyun.com &>/dev/null' >> /var/spool/cron/root

[root@cobbler ~]# rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm   ###下載安裝包

 [root@cobbler yum.repos.d]# yum install -y http://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm             ####將zabbix加入yum源

[root@cobbler yum.repos.d]# yum install -y zabbix-server-mysql zabbix-web-mysql    zabbix-agent#########zabbixweb前端程序   zabbix服務端程序

[root@cobbler yum.repos.d]# yum install -y mariadb-server                                    ###########安裝數據庫

[root@cobbler yum.repos.d]# systemctl  enable mariadb.service              ##########開機自啓
[root@cobbler yum.repos.d]# systemctl start mariadb.service                      ##########啓動數據庫

[root@cobbler yum.repos.d]# ss -ln|grep 3306                                   #####查看端口

[root@cobbler yum.repos.d]# mysql_secure_installation     ########初始化設置密碼

[root@cobbler yum.repos.d]#mysql -u root -p   密碼 進數據庫

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;  ### 建立數據庫zabbix設置字符集編碼utf-8

MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost'identified by '123.com'; Query OK, 0 rows affected (0.00 sec)  ############設置用戶  以及密碼

MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.00 sec)       #####跟新權限

[root@cobbler yum.repos.d]# zcat /usr/share/doc/zabbix-server-mysql-3.4.8/create.sql.gz|mysql -uzabbix -p123.com zabbix        ########導入數據庫 以及zabbix登陸

[root@cobbler yum.repos.d]# vim /etc/httpd/conf/httpd.conf    ####

ServerName 127.0.0.1:80                     更改95行

[root@cobbler yum.repos.d]# systemctl enable httpd
[root@cobbler yum.repos.d]# systemctl start httpd
[root@cobbler yum.repos.d]# vim /etc/httpd/conf.d/zabbix.conf   ###################更改時區

 19         php_value date.timezone Asia/Shanghai

[root@node1 ~]# systemctl restart httpd

 瀏覽器打開  http://192.168.1.102/zabbix/setup.php

 

 

 

 

 

 

 

 

 

由於倒入數據庫    zabbix登陸的初始密碼是Admin  zabbix

[root@cobbler yum.repos.d]# vim /etc/zabbix/zabbix_server.conf    #########配置zabbixserver密碼

126 DBPassword=123.com

[root@cobbler yum.repos.d]# systemctl enable zabbix-server.service    #######  開機自啓
[root@cobbler yum.repos.d]# systemctl start zabbix-server.service        #####啓動

##############若是頁面一直zabbix-server報錯沒啓動的話 就得重啓服務了,這個鬼無解 看日誌仍是

 [root@cobbler yum.repos.d]# vim /etc/zabbix/zabbix_agentd.conf    ###### 編輯文件

 97 Server=127.0.0.1                                   ##########指的是誰能夠拿到數據 寫server主機IP

138 ServerActive=127.0.0.1                          #################   主動模式下  寫的也是服務器主機IP

 [root@cobbler yum.repos.d]# systemctl enable zabbix-agent.service
[root@cobbler yum.repos.d]# systemctl start zabbix-agent.service

##########在配置界面選擇configuration-----hosts----create-----添加主機------templates選擇模板----建立

[root@node1 ~]# zabbix_get -s node2 -k agent.ping    #############若是不通能夠手動檢測

############添加自定義的items

cd  /etc/zabbix/zabbix_agentd.d

 [root@node2 zabbix_agentd.d]# vim monitor_file.conf     自定義模板文件

 UserParameter=monitor_file,stat -c %s /etc/services   ####監控文件大小

[root@node2 zabbix_agentd.d]# systemctl restart zabbix-agent.service

開始建立itmes------------configuration-----hosts---itmes---create-itmes

 

##########想查看本身添加的是否成功能夠---monitoring---latestdata

 

 ###建立triggers ----configuration---host---triggers--create-

 

###########定義監控級別


 

##############定義監控用什麼發

 

 ####定義郵箱地址

 

 

 #################用什麼帳號發

 

 

3.監控web,mysql三部曲

 

 

 

 

 

 


監控mysql

[root@node2 ~]# yum install -y mariadb-server

 

 

 

帶密碼的監控

 root@node2 ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

mysql

MariaDB [(none)]> grant all on *.* to zabbix@'localhost' identified by '123.com';

MariaDB [(none)]> flush privileges;

[root@node2 ~]# systemctl  restart zabbix-agent.service

 

 

 

 

 

 

 

 

 

 


多個數據監控修改配置文件使用¥化

[root@node2 ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

UserParameter=mysql.status[*],echo "show global status where Variable_name='$3';" | HOME=/var/lib/zabbix mysql -u$1 -p$2 -N | awk '{print $$2}'

UserParameter=mysql.ping[*],HOME=/var/lib/zabbix mysqladmin -u$1 -p$2 ping | grep -c alive

[root@node2 ~]# systemctl  restart zabbix-agent.service

[root@node1 ~]# zabbix_get -s 192.168.1.104 -k mysql.status[zabbix,123.com,Uptime]

 

 

 

 

 

TCP監控

root@node2 zabbix_agentd.d]# vim TCP_status.conf

UserParameter=TCP_status[*],netstat -ant|grep -c $1

[root@node1 ~]# zabbix_get -s 192.168.1.104 -k TCP_status[TIME_WAIT]

 

 

 

 

 

 

 

 

 


克隆來依次建立tcp的狀態 ##ESTABLISHED
SYN_SENT
SYN_RECV
FIN_WAIT1
FIN_WAIT2
TIME_WAIT
CLOSE
CLOSE_WAIT
LAST_ACK
LISTEN
CLOSING
UNKNOWN

 

 

####監控nginx

相關文章
相關標籤/搜索