监视,控制php
教室: 监控学员的学生情况
超市: 防偷
马路: 事故(过后追溯)
监控: 本质上是 行为前端
系统为何要作监控:
监控是整个运维乃至整个产品生命周期中最重要的一环.
事前及时预警发现故障,过后提供详实的数据用于追查定位问题/。mysql
1.提取内存的指标
2.判断比对 ,与管理人员设定的阈值
3.大于百分之20, 则忽略
4.小于百分之20, 则触发警告ios
cacti 用于监控网络设备 交换机 路由器 防火墙 流量为主
Nagios 用于监控系统
Zabbix 用于监控系统 web界面 分布式 报警 自带模板
open-falcon 小米公司
Prometheus+grafana
nginx
1..硬件监控 ( 交换机 路由器 防火墙 服务器 ) DELL IRDAC ipmi 2.系统监控 ( CPu 内存 磁盘 IO ) 3.服务监控 ( nginx php mysql tomcat ....... ) 4.日志监控 ( ELK 架构 ) 5.web监控 ( 请求延时 响应延时 加载时间 ..... pv uv ip ) 6.业务监控 新增用户 流量 购买量 7.分布式监控 多机房监控 proxy 8.自动化监控 自动的添加主机进行监控
命令监控web
监控: cpu: top htop 内存: free -m 大量消耗内存会占用swap,若是没有swap 则会触发oom 磁盘: df -h 空间 iotop 网络: ifconfig route iftop nethogs nethogs -v 3 glances
shell脚本 + crond 定时任务 (监控当前系统用户登陆的数量 超过4 则报警)sql
for ip in {7..9} do users=$(ssh root@172.16.1.$ip "who|wc -l") if [ $user -ge 3 ];then echo "报警通知 172.16.1.$ip" fi done
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
yum install zabbix-server-mysql zabbix-web-mysql httpd mariadb-server -y
systemctl start mariadb systemctl enable mariadb mysql -uroot -e "create database zabbix character set utf8 collate utf8_bin;" mysql -uroot -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"
zcat /usr/share/doc/zabbix-server-mysql-4.0.14/create.sql.gz | mysql -uroot zabbix
[root@zabbix-server ~]# grep '^D' /etc/zabbix/zabbix_server.conf DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix
systemctl enable zabbix-server systemctl start zabbix-server
vim /etc/httpd/conf.d/zabbix.conf。 ..... php_value date.timezone Asia/Shanghai .... systemctl restart httpd
1.根据提示填写信息便可 2.默认的用户名和密码是 username: Admin password: zabbix
1.修改密码
2.将zabbix修改成中文shell
1.须要安装zabb-agent
2.agent版本要求
平级zabbix-server
低于zabbix-server数据库
3.安装zabbix-agent (没有依赖)vim
rpm -Uvh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.14-1.el7.x86_64.rpm
4.配置zabbix-agent,容许172.16.1.71 可以采集172.16.1.7本地的数据
[root@web01 ~]# 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=172.16.1.71 Include=/etc/zabbix/zabbix_agentd.d/*.conf
5.启动zabbix-agent
systemctl enable zabbix-agent systemctl start zabbix-agent systemctl restart zabbix-agent
6.登陆zabbix-server web界面
1.配置-->主机-->添加主机 2.模板-->关联-->Template Linux OS
rpm -ql zabbix-web | grep fonts /usr/share/zabbix/assets/fonts cd /usr/share/fonts/dejavu mv DejaVuSans.ttf DejaVuSans_bak.ttf mv msyh.ttf DejaVuSans.tt
rpm -Uvh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.14-1.el7.x86_64.rpm systemctl start zabbix-agent systemctl enable zabbix-agen
zabbix-agent zabbix-server mariadb zabbix-web
LAMP架构 LAP+MySQL 172.16.1.71 zabbix-server zabbix-web 172.16.1.51 数据库
1.安装数据库
yum install mariadb-server -y systemctl enable mariadb systemctl start mariadb
2.建立zabbix库,配置远程受权用户
create database zabbix character set utf8 collate utf8_bin; grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';
3.在172.16.1.71上进行以下操做
[root@zabbix-server ~]# mysqldump -B zabbix >zabbix.sql [root@zabbix-server ~]# cat zabbix.sql | mysql -h 172.16.1.51 -uzabbix -pzabbix zabbix
4.修改zabbix-server配置的指向
[root@zabbix-server ~]# cat /etc/zabbix/zabbix_server.conf #DBHost=localhost DBHost=172.16.1.51 [root@zabbix-server ~]# systemctl restart zabbix-server
5.修改zabbix-web配置的指向
[root@zabbix-server ~]# vim /etc/zabbix/web/zabbix.conf.php $DB['SERVER'] = '172.16.1.51'; [root@zabbix-server ~]# systemctl restart httpd
Format: UserParameter=
1.使用shell命令提取当前用户登陆的数量 who|wc -l
2.使用zabbix-agent将shell命令提取的结果封装一个监控项 UserParameter
3.zabbix-agent本身检查该监控项是否能正确提取到对应的值 zabbix_agent -p
4.zabbix-server经过zabbix-get检查zabbix-agent端自定义的监控项是否正常 zabbix_get -s 172.16.1.7 -k user_login
5.登陆zabbix-web页面, 找到对应的主机, 而后添加对应的监控项.
6.点击检测中--->最新数据--->选择主机--->选择应用级-->检查监控项指标的变化
cat /etc/zabbix/zabbix_agentd.d/all.conf UserParameter=user_login,who|wc -l systemctl restart zabbix-agent
服务端检查 rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-get-4.0.14-1.el7.x86_64.rpm zabbix_get -s 172.16.1.7 -k user_login
7.登陆zabbix-web页面, 找到对应的主机, 而后添加对应的监控项.
8.点击检测中--->最新数据--->选择主机--->选择应用级-->检查监控项指标的变化
1.基于已建立好的监控项设定阈值 2.若是达标则触发 3.若是不达标,继续探测,监视
1.点击右上角小人头-->正在发送消息-->勾选前端信息中