zabbix在运维方面的监控方法小结
一些经典的运维问题: .配置文件中有空格,导致服务端下发的域名出现问题
.修改数据库没有备份
.修改dnspod问题,指向了错误的IP地址
.时间不一致,需要重新设定时区
.启动程序必须是最新版本,如:ps -ef|grep sdk-speech-1.1..jar
有可能没有杀死老版本的程序
.ssl证书更换(cdn,slb,nginx,tomcat,haproxy,upyun,qiniu)
.域名解析,经过通用高防以后无法获取客户端的真实IP地址,获取的全部是高防的IP地址
.每个业务应用都需要至少双实例(避免单点问题)
slb,nginx,jar,redis,mysql
.域名证书到期时间监控
.网络问题
4G网络连接系统没有问题,发现wifi出现连接失败的问题
原因是wifi上有vpn,连接到了国外的服务器,同样的域名只是dnspod解析的地区不同分国内国外(国外服务器又没有添加cp的信息,导致认证失败)
.mysql数据库utf8mb4编码,innodb数据库引擎,还有连接数,文件句柄
.slb的安全ip添加
.关键的域名需要判断是否解析到了正常的城市和国家(分国内、国外、港澳台线路,或者移动,联通线路等) elk,hadoop集群的安全性,root密码,服务器权限
es的9200端口,9300端口 qps需要注意是否达到瓶颈 磁盘的吞吐量
# sar -n DEV
Linux 2.6.-431.11..el6.ucloud.x86_64 (rdp02_confluent) // _x86_64_ ( CPU) :: PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
:: PM lo 41508.12 41508.12 7543.42 7543.42 0.00 0.00 0.00
:: PM eth0 3872.08 1309.64 5181.46 183.86 0.00 0.00 0.00 IO监控分以下几个级别:
、系统级别 ,iostat vmstat dstat
、进程级别 iotop pidstat
、业务级别 ioprofile
、文件级别 lsof
基本上可以完全定位到IO问题了 运维的原则:
列出计划方案并发出评审(具体实施方案,失败的回滚方案)
中间实施时的通知,并且在业务低峰进行
事后的观察(流量、资源使用),日志是否报错等 监控系统:
zabbix监控
阿里云监控
ucloud监控 资源监控
阿里云
ucloud
机房 报警通知人管理(不同级别报警人不一样,报警的方式短信,邮件,微信等) 每个服务都需要使用双份 使用阿里云和ucloud云监控报警
.服务器硬件(cpu,磁盘,memory使用率)
监控mysql的cpu占用率
UserParameter=mysqlcpu,ps aux|grep "mysqld"|grep -v "grep"|awk '{sum+=$3}; END{print sum}'
.带宽使用率
.数据库rds使用率iops,connection,cpu,内存,空间 .默认都安装zabbix系统硬件监控包括:
cpu 平均负载,idel小于10%报警
磁盘占用率
主机密码是否修改
是否重启、关机 内存小于10%,触发重启java的voice服务 haiwai .tcp端口监控
nmap aya3.chinasoft.com -p | grep -c open .响应时间 .端口监控(nmap监控tcp或者udp端口)
流量告警,通过aliyun监控平台 ecs_InternetOutRateNew .对tcp连接数的监控
established个数大于8W
established个数小于100 .对关键进程的个数监控如voice .对http服务的监控(阿里云和ucloud) .对集群状态的监控 .对关键进程监控,进程挂掉重新启动
java出现内存溢出的监控
UserParameter=java_error,sudo /bin/find /home/chinasoft -name hs_err_pid*.log -o -name java_pid*.hprof -o -name jvm.log -o -name core.*|wc -l .redis的qps和cpu使用率内存使用率
mysql的磁盘空间,cpu,内存使用率,连接数使用率 .监控log日志
# cat /usr/local/zabbix-agent/scripts/esb_status.sh
#!/bin/bash
# 日志文件目录
path=/home/chinasoft/log/esbE001
# 找到最新的日志文件名 ls -t 按照时间排序,最新的在上面
esb_file=`ls -t "${path}" | head -` fail_count=`tail -n $path/${esb_file} |grep 'failure'|wc -l`
echo $fail_count .关键的接口监控,如 .dnspod解析监控(是否解析到了国内或者国外,需要判断) .数据库,redis还有应用是否在同一机房同一个局域网(如果跨机房影响性能,高并发可能会引发问题) .写脚本自动删除、清理日志、是否需要切割日志,统计日志等 关于终端自动触发执行action的配置: Defaults:jenkins !requiretty
Defaults:zabbix !requiretty
zabbix ALL=(ALL) NOPASSWD: ALL EnableRemoteCommands =
UserParameter=java_error,sudo /bin/find /data/chinasoft -name hs_err_pid*.log -o -name java_pid*.hprof -o -name jvm.log|wc -l
UserParameter=check_web1,curl -I -m -o /dev/null -s -w %{http_code}"\n" http://yuyin.chinasoft.com:9999/check
UserParameter=check_port,nmap aya3.chinasoft.com -p | grep -c open # 每分钟超时的次数
UserParameter=check_baidu,grep -a `date +%H:%M` /home/chinasoft/chinasoft-speech2/logs/all.log | grep '' | wc -l UserParameter=check_port0,/usr/bin/python /usr/local/zabbix-agent/scripts/check_port.py
[root@u04mix03 ~]# cat /usr/local/zabbix-agent/scripts/check_port.py
#!/usr/bin/python #coding=utf- import types
import urllib2
import json
import socket
html=urllib2.urlopen(r"http://u01.f.chinasoft.com/config_route?name=CT_ROOM&no=123") hjson = json.loads(html.read())
#print hjson
ip = hjson["outside"]
port = hjson["port"]
#print ip
#print port sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sk.settimeout()
try:
sk.connect((ip,port))
except Exception:
sk.close() # python脚本,agentd.conf要配置Timeout =
#encodig:utf- import requests
import json
try:
r = requests.get('http://api.chinasoft.com:8199/api3?appId=100000&method=queryOnlineUser&roomId=100000&version=2&appKey=10d5aea05bef4f4ed988e1278b53ab5c', timeout = )
r_json = json.loads(r.content)
res = r_json.get('result',)
print res
except Exception as e:
print **********
监控语音超时,超过30000ms UserParameter=check_log,grep "30000ms" /home/chinasoft/chinasoft-speech2/logs/all.log | wc -l # 删除日志脚本
find /home/chinasoft/chinasoft_script_sdk/logs/bi -name "*.log.gz" -mtime + -exec rm -f {} \;
#!/bin/bash
path1=/home/proxy/rtmpclient/Bin64/log if [ -d $path1 ];then
for file1 in `ls ${path}`;
do
if [ "${file1##*.}" == "log" ];then
echo /dev/null >$path1/$file1
fi
done
fi path2=/home/proxy/rtmpclient/Bin64/log if [ -d $path2 ];then
for file2 in `ls ${path2}`;
do
if [ "${file2##*.}" == "log" ];then
echo /dev/null >$path2/$file2
fi
done
fi path3=/home/proxy/chatroom/Bin64/log
if [ -d $path3 ];then
for file3 in `ls ${path3}`;
do
if [ "${file3##*.}" == "log" ];then
echo /dev/null >$path3/$file3
fi
done
fi java的溢出文件jvm.log,触发脚本重启java服务 #!/bin/bash
for i in {/data/chinasoft/sdk_translator_speech,/data/chinasoft/chinasoft-speech2,/data/chinasoft/chinasoft-text2audio};do
if [ -f $i/jvm.log ];then
rm -f $i/jvm.log
ps -ef|grep $i|grep -v grep|awk '{print $2}'|xargs kill -
sleep
cd $i && /bin/bash start.sh start
fi
done
跳板机搭建在公司内部,通过跳板机管理国内和国外的服务器,因海外的服务器较多默认走香港线路
国内的服务器要设置定向路由
为了及时处理同事登录跳板机不能正常办公的问题,对跳板机和海外服务器的网络质量进行监控
动作可以触发报警,切换线路等操作,需要观察一段时间后作出处理
# 检查网络的ping值丢包率,如果大于50%触发报警
UserParameter=eus_pedb_net_loss,sudo /usr/local/fping/sbin/fping -p 100 -c 10 1.1.1.1 2>&1| tail -n 1 | awk -F ' ' '{print $5}'| cut -d '/' -f3 | cut -d '%' -f1
# 检查端口的可用性
UserParameter=pedbserver_sshport,/usr/bin/nmap 1.1.1.1 -p 2008 | grep -c open
监控nginx的访问日志出现 50x或者40x
UserParameter=nginx_access_50x,sudo /usr/bin/tail -n 500 /data/www/logs/nginx_log/access/www.chinasoft.com_access.log|awk '{print $1" "$10" "$11}'|grep 'HTTP/1.1" 50'|uniq|wc -l
UserParameter=nginx_access_40x,sudo /usr/bin/tail -n 500 /data/www/logs/nginx_log/access/www.chinasoft.com_access.log|awk '{print $1" "$10" "$11}'|grep 'HTTP/1.1" 40'|uniq|wc -l
zabbix在运维方面的监控方法小结的更多相关文章
- 运维架构服务监控Open-Falcon
一. 介绍 监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供翔实的数据用于追查定位问题.监控系统作为一个成熟的运维产品,业界有很多开源的实现可供选择.当公司刚 ...
- zabbix自动化运维学习笔记(服务器安装)
最近博主开始接触自动化运维.首先就是zabbix这个开源的监控系统 一开始博主只是在自己的虚拟机上尝试安装.最后终于开始在公司的服务器上正式安装,教程博主也是通过度娘找的 这是原文:链接 安装环境:C ...
- AI模型运维——GPU性能监控NVML和DCGM
最近一年负责运维的GPU主机越来越多,发现现有的监控项无法很好的了解GPU的性能和负载情况,研究了下官方文档,在此记录. 一.NVML和DCGM NVML:https://developer.nvid ...
- zabbix之运维疑难总结
2.trousers包 zabbix默认情况下要求trousers包的版本是0.3.12版本以上.如果低于这个版本,有可能zabbix-server服务启动不成功.在mysql7.1版本以上可能会使用 ...
- zabbix自动化运维学习笔记(服务器配置)
继上次博主整理的安装后,这次是配置步骤 首先打开zabbix的安装web地址 http://xx.xx.xx.xx/zabbix/setup.php xx.xx.xx.xx是服务器的IP地址 由 ...
- ZCGL大数据平台日常运维问题与解决方法
问题:HBase停止 解决方法:重新启动HBase,如下所示 表层问题:插入和查询HBase速度比较慢 排查一,查看HBase节点状态,发现正常运行: 排查二,查看访问HBase服务的状态,发现服务停 ...
- 无需认证的mail,适用于ZABBIX等运维系统
cat main.cf | grep "^\s[^# \t].$" queue_directory = /var/spool/postfix command_directory = ...
- 监控和安全运维 1.4 nagios安装
1. Nagios 简介是一个开源软件,可以监控网络设备网络流量.Linux/windows主机状态,甚至可以监控打印机它可以运行在Linux上或windows上基于浏览器的web界面方便运维人员查看 ...
- Redis 之sentinel运维监控
有三台redis服务器6379.6380.6381,配置6379为主服务器,6380与6381都为6379的从服务器.如果主服务器6379挂掉了,我们怎么办? 方式一:手动修改从服务器的配置,将638 ...
随机推荐
- Trailing slash
Trailing Slash common case It's common for URLs with a trailing slash to indicate a directory, and t ...
- Spring Boot 2下使用Feign找不到@EnableFeignClients的解决办法
最近在实践Spring Boot 2+Spring Cloud(Finchley.M9),在用到Feign的时候发现@EnableFeignClients注解开不了,独立使用Feign是可以的,但就是 ...
- c++中sizeof的理解
1. 例题 #include <iostream> class A {}; class B { char m_data; }; class C { ]; }; class D { char ...
- 转载 IEnumerable和IEnumerator 详解
初学C#的时候,老是被IEnumerable.IEnumerator.ICollection等这样的接口弄的糊里糊涂,我觉得有必要切底的弄清楚IEnumerable和IEnumerator的本质. 下 ...
- MVC的了解
MVC是一种架构模式,程序分层,分工合作,各层既相互独立,有协同工作. MVC:Model+View+Controller Model层:业务数据的信息表示,关注支撑业务的信息构成,通常是多个业务实体 ...
- maven构建项目时硬编码中文乱码问题解决
场景:1. 项目采用maven作为构建工具.2. 前端页面为jsp,由前端团队独立完成,添加编码配置:<%@ page contentType="text/html;charset=u ...
- 20155324 2016-2017-2 《Java程序设计》第4周学习总结
20155324 2016-2017-2 <Java程序设计>第4周学习总结 教材学习内容总结 继承 面对对象中,子类继承父类,避免重复定义行为就使用继承.在Java中,继承时使用exte ...
- nginx: [error] CreateFile() "E:\nginx\nginx-1.9.3/logs/nginx.pid" failed
nginx: [error] CreateFile() "E:\nginx\nginx-1.9.3/logs/nginx.pid" failed nginx: [error] Op ...
- dwr出现session error
把项目冲tomcat6迁移到tomcat7之后,在项目运行中发现用到dwr的地方出现了session error错误, 网上搜了一下,是因为tomcat7的安全机制. 解决方法: 在项目的web.xm ...
- 编写blog第一天
今天玩的比较嗨,离开学还剩半个月了,之前在网上搜集了一些blog制作方面的资料,并且在博客园注册了一个账号,今天才打开了申请已久的blog,现在已经对blog具有的基本功能和界面布局有了比较全面的掌握 ...