监控服务器-zabbix

监控服务存在价值意义(监视 控制)

1.对系统不间断监控
2.实时了解服务器情况
3.保证服务可靠安全性
4.保证业务持续稳定运行

监控服务监控方式

1) 利用系统命令进行监控

监控CPU信息命令: w top htop glances
监控内存信息命令: free
监控系统硬盘命令: df
监控系统进程命令: top htop
监控系统负载命令: uptime w
监控网络信息命令: ifconfig/ip/route/glances/iftop/nethogs
监控服务端口状态: netstat ss
监控磁盘读写情况: iostat iotop
监控硬件信息命令: vmstat

top: 实时查看进程信息情况/cpu情况/内存情况
	CPU是每个核心串行处理进程任务, 正处理任务显示为 runing 状态等待处理任务显示为sleep状态
	CPU具体情况: CPU处理任务信息情况
	us: 系统用户态信息		用户操作 --- CPU 
	sy: 内核态信息(系统状态)	进程信息 --- CPU
	ni: 进程优先级信息(-20~20), 数值越小越优先
		网站处理压力访问时, 还可以连接主机进行调试, 调整优先级
	id: 系统空闲状态	空闲数值 = 100 - 用户态占用CPU资源 - 系统态占用CPU资源 
	wa: 系统io等待时间	数值过高, 磁盘性能可能不足
	hi: 硬中断信息	CPU识别硬件信息调整 
	si: 软中断信息	CPU识别软件信息调整
	st: CPU真实资源消耗数值 虚拟化有关

2) 利用系统脚本进行监控

脚本编写思路
  1. 获取到指定监控数据信息
  2. 将获取监控数据信息和指定阈值进行判断比较
  3. 利用邮件进行报警通知
需求1: 监控系统内存情况, 进行报警通知
free_test=$(free -h|awk -F '[ M]+' 'NR==2{print $(NF-1)}')
if [ $free_test -lt 100 ]
then 
	echo "xxxx"|mail -s 内存报警 3300882721@qq.com 
fi 
需求2: 监控硬盘使用情况, 进行报警通知
df_test=$(df -h|awk -F "[ %]+" '$1~/sda3/{print $(NF-1)}')
if [ $df_test -gt 80 ]
then
   echo "xxxx"|mail -s 硬盘报警 3300882721@qq.com 
fi 
需求3: 监控系统用户登录情况, 进行报警通知
user_test=$(who|wc -l)
if [ $user_test -gt 3 ]
then 
   echo "xxxx"|mail -s 用户报警 3300882721@qq.com
fi

3) 利用监控服务进行监控

zabbix: 目前比较主流监控软件
Nagios: 早期比较主流监控软件(实现报警功能比较强大)
cacti: 网络流量数据监控(出图显示数据信息)
Promtheus(普罗米修斯): 监控docker容器主机
open Falcon(小米): 监控架构环境(小米公司技术支持)
Lepus(天兔): 监控数据服务

监控服务工作原理(架构组成)

在这里插入图片描述

监控服务部署过程

安装部署过程总结: zabbix安装过程

1) 构建LAMP架构环境, 用户显示zabbix静态和动态页面
2) 获取网站代码信息, zabbix网站代码信息
3) 手动构建数据和表

zabbix服务端部署过程

第一步: 下载更新yum源
清华源(使用)
	rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
官方说明   rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
第二步: 修改调整yum源
vim /etc/yum.repos.d/zabbix.repo

:%s#http://repo.zabbix.com#https://mirrors.tuna.tsinghua.edu.cn/zabbix#g
第三步: 下载zabbix软件包
yum install -y zabbix-server-mysql zabbix-web-mysql
补充: 页面管理服务   zabbix-server-mysql : 构建 zabbix 服务端软件   zabbix-web-mysql : 构建 zabbix 前端软件 - A(apache) P(php)
第四步: 构建数据库服务
yum install -y  mariadb-server

systemctl start mariadb.service
systemctl enable mariadb.service

mysql_secure_installation		--- 数据库安全初始化命令
	初始化01: 确认root用户密码(输入当前密码)
		Enter current password for root (enter for none): 回车键
	
	初始化02: 设置root用户密码
		Set root password? [Y/n] n
	
	初始化03: 是否移除数据库匿名用户
		Remove anonymous users? [Y/n] y
	
	初始化04: 是否允许root用户远程登录
		Disallow root login remotely? [Y/n] y
	
	初始化05: 是否移除测试数据库
		Remove test database and access to it? [Y/n] y
	
	初始化06: 是否重新刷新授权表
		Reload privilege tables now? [Y/n] y
第五步: 创建数据库、创建用户、创建表信息
mysql
	create database zabbix character set utf8 collate utf8_bin;		--- 创建数据库
	grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';		--- 创建用户设置密码
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz|mysql -uzabbix -pzabbix zabbix		--- 恢复数据库表信息
第六步: 实现连接数据服务
zabbix服务端进行连接数据库: 修改zabbix服务端配置文件
	vi /etc/zabbix/zabbix_server.conf
		DBHost=localhost	--- 设置本地方式连接数据库
		DBName=zabbix		--- 设置连接数据库名称
		DBUser=zabbix		--- 设置连接数据库用户名称
		DBPassword=zabbix	--- 设置连接数据库用户密码信息

systemctl start zabbix-server.service
systemctl enable zabbix-server.service

检查端口
netstat -lntup|grep zabbix
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      17339/zabbix_server 
tcp6       0      0 :::10051                :::*                    LISTEN      17339/zabbix_server

补充:
  检查服务日志
    tail -f /var/log/zabbix/zabbix_server.log

第七步: zabbix前端页面连接数据库
开启网站服务
	systemctl start httpd
	systemctl enable httpd

修改网站时区
	vim /etc/httpd/conf.d/zabbix.conf
		php_value date.timezone Asia/Shanghai
	systemctl restart httpd

第八步: 前往前端页面进行查看

http://ip地址/zabbix/setup.php
前端登录密码: 用户(Admin) 密码(zabbix)

进行zabbix页面优化过程

修改页面字符信息

在这里插入图片描述

如何利用zabbix监控其他主机

第一步: 需要在被监控主机上安装agent软件/并进行配置

rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.9-3.el7.x86_64.rpm

vim /etc/zabbix/zabbix_agentd.conf
	Server=127.0.0.1

systemctl start zabbix-agent.service
systemctl enable zabbix-agent.service

注:
  Server = 监控服务器 ip
  如果在本地配置默认

第二步: 在网站中实现监控server主机

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

如何自定义监控项目

什么是监控项目

具体要监控采集数据信息  内存使用情况  磁盘剩余空间  CPU使用信息空闲值

如何查看监控项

配置 - 主机 - 监控项中
多个不同监控项进行分类管理,不同监控项类型就称为应用集

如何具体查看监控项采集数据信息

方式一: 利用命令进行查看
安装zabbix-get软件程序
yum install -y zabbix-get
zabbix_get -s 主机ip地址  -k 键值

注:
  键值位置: 配置 —> 主机 —> 过滤器

方式二: 在网站页面进行查看
监测 ---> 最新数据 ---> 筛选主机或监控项信息 ---> 显示详细监控项数据信息

实现自定义监控信息: (原因: 系统默认监控项中没有需要监控项目)
需求: 收集主机磁盘 IO TPS 数值

第一步: 客户端端进行自定义监控项配置
	vi /etc/zabbix/zabbix_agentd.conf
		UserParameter=......
		自定义监控项格式信息: UserParameter=<key>,<shell command>
		根据格式信息: 
			key:		自定义命名
			脚本或命令:	iostat|awk '$1~/^sda/{print $2}'

	systemctl restart zabbix-agent.service
	
第二步: 在服务端查看监控项数据信息
	yum install -y zabbix-get
	zabbix_get -s 10.0.0.7 -k 自定义的命名

第三步: 在web页面配置
	配置 ---> 主机 ---> 监控项 ---> 创建新的监控项 ---> 设置监控 key 值信息

常见自定义监控项问题: 配置错误后, 修改正确也无法获取数据信息
  管理 —> 一般 —> 其他 —> 刷新识别错误监控项时间
  服务端重启服务: systemctl restart zabbix-server.service

如何设置触发器功能

什么是触发器

显示报警信息阈值, 一旦触发阈值就会报警提示系统有异常

如何配置触发器

第一步: 进入触发器

在这里插入图片描述

第二步: 创建新的触发器信息

在这里插入图片描述

触发器条件算法

last() : 收集到的最新数据信息(阈值设置  > 5   解释 现在 = 用户登录数是3 不会报警  几分钟后 = 用户登录数6 报警)
avg()  : 一定时间内数据平均值(阈值设置  > 5)
diff() : 比较出现数值是否相同  等于1 两次取值有差异 等于0 两次取值没有差异
min()  : 取出周期时间内最小值
max()  : 取出周期时间内最大值
nodata() : 是否取出数据
change() : 监测新数据和前一个数据变化
第三步: 报警方式利用基础方式(网站页面报警+声音提示)

在这里插入图片描述

监控服务报警通知

方式一: 利用邮件进行报警

情况一: 直接配置邮件服务信息进行报警
第一步: 定义发送报警服务信息
	配置报警媒介中-Email信息

第二步: 定义接收报警人员信息
	小人头里定义接收邮件人员信息
  
第三步: 进行验证报警通知

报警通知常见问题

  1. 通知时间信息不正确
      原因: 邮件服务器有关系/监控服务端时间异常/影响数据库服务启动(存储未来数据信息)
  2. 邮件无法发送问题
      原因: 配置文件/邮件服务有问题/网络问题
情况二: 加载邮件报警脚本实现报警
第一步: 定义发送报警服务信息
	选择类型为脚本
	将脚本信息放入到指定目录: /usr/lib/zabbix/alertscripts
	chmod +x mail_163.py 
	测试监控脚本功能:
	./mail_163.py 330882721@qq.com test web01
  
	报警脚本参数:
		{ALERT.SENDTO}	--- 识别接收报警人地址信息
		{ALERT.SUBJECT}	--- 识别报警标题信息
		{ALERT.MESSAGE}	--- 识别报警具体信息
  
第二步: 定义接收报警人员信息
第三步: 进行验证报警通知

方式二: 利用微信进行报警

a 情况一 :直接利用脚本实现微信报警
  第一个里程: 创建企业微信并添加企业人员
  1)添加邀请成员信息
  2)创建发送通知应用程序
  3)保存记录企业微信平台信息
     AgentId  1000008
     Secret   CwtW1qQwytyuI4fQbAuhSXdMQrGwqew7AVtllrOq2hk
     企业ID   ww32d68104ab5f51b0
	 ==========================================================
	 回顾:python模块安装回顾:
	 1)下载python软件    yum install -y python-pip
	 2)执行命令安装模块  pip install requests 
	    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  requests
	 ==========================================================
  第二个里程:上传脚本并进行修改
  修改脚本信息,填入企业agent 秘钥  企业ID, 并修改权限
  
  第三个里程:执行脚本发送报警
  ./weixin.py LiangXiaoBao 中午时间到了   需要吃午饭了
  

b 情况二 :利用监控服务平台实现微信报警 	
  第一个里程:定义发送消息人员信息
  第二个里程:接收消息人员信息
  第三个里程:检查测试报警信息
  
  日志文件权限有问题:无法实现报警
  # chown zabbix.zabbix /tmp/weixin.log 
  # ll /tmp/weixin.log 
  -rw-r--r-- 1 zabbix zabbix 1844 Feb 24 12:44 /tmp/weixin.log

  报警无法正常接收问题分析:
  原因1:发送人信息配置有关
  原因2:接收人信息配置有关
  原因3:脚本或者网络问题
  原因4:动作中是否配置正确 (将默认开启)
  原因5:查看动作日志信息定位报警问题
  
方式三: 利用短信或电话报警
方式一: 利用短信报警命令编写脚本报警  开通阿里大鱼
方式二: 进入睿象云进行网页配置
         图队管理:添加企业用户信息
         集成配置:配置zabbix连接睿象云
         通知策略:定义给团队哪个成员发送信息
         分派规则:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值