linux監控概述

一、監控的要點:

1、概述

從入門到精通

  1. 識別監控對象
  2. 理解監控對象
  3. 細分監控對象的指標
  4. 確定報警的基準線

預中級

  1. 工具化和監控分離
  2. 監控對象的分類:
    2.1 硬件監控(方法:機房巡檢、IPMI、SNMP)
    2.2 系統監控(對象:cpu,內存、IO)
    2.3 服務監控(對象:各類服務【NGINX、Tomcat、rabbitmq、OpenStack、mysql】)
    2.4 日誌監控(方法:elk)
    2.5 網絡監控(發放:第三方Smokeping)
    2.6 APM應用性能管理 (工具pinpoint)
    2.7 流量監控(工具Piwik、xx統計)
  3. 掌握一個監控工具 zabbix

中級

  1. 標準化監控 (標準化的腳本、監控模板)
  2. 分佈式監控(主動、被動、分佈式)
  3. 自動化監控(自動發現,主動註冊(agent主動註冊、server主動添加(API)))
  4. 性能優化(數據採集、數據存儲、數據查詢)
  5. 二次開發(定製報表、API調用)

進階

  1. 動態告警
  2. 智能告警:1.告警去重 2.依賴
  3. 故障自愈(事件驅動、主動控制)
  4. 大規模

2、硬件監控

  1. 機房巡檢

  2. 通過網絡來巡檢

ipmi

yum -y install OpenIPMI ipmitool

具體參考:https://www.ibm.com/developerworks/cn/linux/l-ipmi/

SNMP

具體參考:https://blog.csdn.net/HandsomeHong/article/details/80016249

安裝snmp

yum -y install net-snmp net-snmp-libs net-snmp-utils

修改配置

[root@k8s-m1 ~]# grep '^[a-z]' /etc/snmp/snmpd.conf
com2sec admin  default       admin
group   admin v2c           admin
view admin included .1 80
access  admin ""      any       noauth    exact  admin admin none
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
dontLogTCPWrappersConnects yes

啓動服務

systemctl start snmpd
netstat -lntpu |grep 161
udp        0      0 0.0.0.0:161             0.0.0.0:*                           17023/snmpd    

獲取cpu內存

[root@k8s-m1 ~]# snmpwalk  -v2c -c admin 10.201.1.145 .1.3.6.1.4.1.2021.10.1.3
UCD-SNMP-MIB::laLoad.1 = STRING: 0.01
UCD-SNMP-MIB::laLoad.2 = STRING: 0.04
UCD-SNMP-MIB::laLoad.3 = STRING: 0.05
[root@k8s-m1 ~]# snmpget  -v2c -c admin 10.201.1.145 .1.3.6.1.4.1.2021.10.1.3.1
UCD-SNMP-MIB::laLoad.1 = STRING: 0.01
[root@k8s-m1 ~]# snmpget  -v2c -c admin 10.201.1.145 .1.3.6.1.2.1.25.2.2.0
HOST-RESOURCES-MIB::hrMemorySize.0 = INTEGER: 3880792 KBytes

OID參考文章:https://blog.csdn.net/buster2014/article/details/46925633

3、系統監控

  1. CPU

參考文章:https://www.cnblogs.com/anyux/p/8195541.html
進程:每個進程至少有一個線程,每個進程可以有多個線程。
負載:單位時間內運行隊列中就緒等待的進程平均值

  • 常用監控CPU的指令

top

top - 14:44:13 up 5 days, 20:50,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 107 total,   2 running, 105 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3880792 total,   778556 free,   164584 used,  2937652 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  3125052 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                     
                                        虛擬     物理    共享                                  佔用cpu總時間

lscpu

[root@k8s-m1 ~]# lscpu 

cat /proc/loadavg

cat /proc/loadavg 
0.00 0.01 0.05 1/134 17383

sysstat包帶的監控

yum -y install sysstat
vmstat 1 10
mpstat 1 10
  1. 內存

虛擬內存、SWAP、物理內存

vmstat

vmstat 1 10

free

free -m

3.io

iotop

yum -y install iotop
iotop

測試io參考:https://elf8848.iteye.com/blog/2089055

網絡io

iftop

[root@localhost ~]# iftop
[root@localhost ~]# iftop -i eth0 -F 10.201.1.32/24

nethogs

yum -y install nethogs
nethogs

二、安裝zabbix

1、安裝環境

  • 操作系統:CentOS Linux release 7.6.1810 (Core)
  • zabbix版本:4.0
  • 主機:
IP地址 服務類型
10.201.1.145 server
10.201.1.146 agent

2、安裝server端

  • 添加 Zabbix 軟件倉庫
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
yum-config-manager --enable rhel-7-server-optional-rpms
  • 安裝 Server、前端
yum install zabbix-server-mysql
yum install zabbix-web-mysql
  • 安裝數據庫,並初始化
yum -y install mariadb-server
systemctl enable mariadb.service
systemctl start  mariadb.service
mysql_secure_installation

創建zabbix庫和授權

mysql -uroot -p<password>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '123456';

導入數據

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
  • 修改配置文件

修改httpd配置

ServerName 127.0.0.1:80 #95行取消註釋

修改Zabbix server配置文件

vi /etc/zabbix/zabbix_server.conf
DBPassword=123456 #124行修改zabbix的密碼
  • 啓動服務
systemctl start httpd.service 
systemctl enable  httpd.service 
systemctl start zabbix-server.service 
systemctl enable  zabbix-server.service
netstat -antpu |grep 10051
  • 瀏覽器訪問:10.201.1.145/zabbix

根據提示完成安裝

提示需要修改時區

vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai #20行修改

linux監控概述

用戶名: Admin
密碼:zabbix

3、安裝agent端

  • yum安裝
yum install zabbix-agent
  • 修改配置
[root@k8s-n1 yum.repos.d]# grep '^[A-Z]' /etc/zabbix/zabbix_agentd.conf 
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.201.1.145  #指定server端
ServerActive=10.201.1.145  #指定server端
Include=/etc/zabbix/zabbix_agentd.d/*.conf
  • 啓動服務
systemctl start zabbix-agent
systemctl enable  zabbix-agent
netstat -antpu |grep 10050

三、配置zabbix監控

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章