设为首页 收藏本站
查看: 847|回复: 0

[经验分享] zabbix 生产环境遇到的问题

[复制链接]

尚未签到

发表于 2019-1-18 06:12:16 | 显示全部楼层 |阅读模式
  1)Zabbix监控界面报错Lack of free swap space on Zabbix server”解决
  公司线上部署的zabbix3.0的监控界面首页报错说无交换内存主机“Lack of free swap space on Zabbix server”
  解决此问题的步骤如下:
  选择Configuration->Templates(模板),在模板界面中选择Template OS Linux右侧的Triggers(触发器),在触发器页面中打开Lack of free swap space on {HOST.NAME}项目,在新打开的触发器编辑页面中修改Expression(表达式)的内容,由原先的
{Template OS Linux:system.swap.size[,pfree].last(0)}&1
  3)zabbix Too many processes on
  解决办法:将对应的触发器的阀值设置大点(默认是300,可以改到3000)
  
  
  4)监控图里获取不到数据
  可以先在服务端的命令行礼通过命令:
  # /usr/local/zabbix/bin/zabbix_get -s 192.168.1.10 -p 10050 -k "mysql.status[Uptime]"
  其中:
  -s后面跟的是被监控机的ip地址;
  -k后面跟的是监控项的键值,这个可以在zabbix页面里对应监控项里查到。
  如果在服务端通过以上命令能获取到数据,那么在zabbix监控页面的图形里显示获取不到数据,可能就是web页面里的配置问题了。
  5)内存溢出导致zabbix_server服务关闭
  138401:20170630:172159.850 using configuration file: /data/zabbix/etc/zabbix_server.conf
  138401:20170630:172159.854 current database version (mandatory/optional): 03020000/03020000
  138401:20170630:172159.854 required mandatory version: 03020000
  138401:20170630:172200.238 __mem_malloc: skipped 0 asked 48 skip_min 4294967295 skip_max 0
  138401:20170630:172200.238 [file:strpool.c,line:53] zbx_mem_malloc(): out of memory (requested 42 bytes)
  138401:20170630:172200.238 [file:strpool.c,line:53] zbx_mem_malloc(): please increase CacheSize configuration parameter
  解决办法:
  打开zabbix_server.conf 找到 Option: CacheSize
  把原来的 # CacheSize=8M 前面的#注释去掉,将8M修改为1024,这个1024根据服务器性能修改。
  # vim /data/zabbix/etc/zabbix_agentd.conf
  ......
  CacheSize=1024M
  然后重启zabbix_server即可
  

  6)zabbix数据库连接数超额导致连接失败
mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 152   |
+-----------------+-------+
1 row in set (0.00 sec)
默认是152的连接数。修改方法如下:
1)临时性修改
mysql> set GLOBAL max_connections=1024;
mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 1024  |
+-----------------+-------+
1 row in set (0.00 sec)  2)永久性修改
  在my.cnf文件中配置:
  [mysqld]                     //新添加一行如下参数
  max_connections=1000
  重启mysql服务即可
  


  7)zabbix的web界面中的cpu监控图中显示的负载是0.002-0.0014,这显然是不对的,跟服务器上uptime现实的cpu负载不一致!
  解决办法:
  修改模板(Template OS Linux)--监控项--Processor load (1 min average per core)--键值:
  把 system.cpu.load[percpu,avg1] 改为 system.cpu.load[all,avg1]
  8)zabbix_server.log里出现如下报错:
zabbix_server.log里出现如下报错:
95213:20180101:154323.271 cannot send list of active checks to "10.0.8.20": host [jumpserver01.kevin.cn] not found
95212:20180101:154323.549 cannot send list of active checks to "10.0.56.21": host [cx-app02.kevin.cn] not found
95216:20180101:154324.768 cannot send list of active checks to "10.0.54.21": host [bl2-app02.kevin.cn] not found
95212:20180101:154325.072 cannot send list of active checks to "10.0.52.22": host [nc-app02.kevin.cn] not found  原因分析:
  zabbix_agentd.conf文件中配置的Hostname内容和zabbix的web界面"配置"->"主机"的主机名称配置不一致导致的,修改成一致内容即可!
  9)zabbix_server.log里出现如下报错:
95219:20180101:162139.869 fping failed: /usr/local/sbin/fping: can't create raw socket (must run as root?) : Operation not permitted
95219:20180101:162140.871 fping failed: /usr/local/sbin/fping: can't create raw socket (must run as root?) : Operation not permitted
95219:20180101:162141.874 fping failed: /usr/local/sbin/fping: can't create raw socket (must run as root?) : Operation not permitte  解决办法:
  1)确保zabbix的agent客户机的zabbix有sudo权限
[root@web01 ~]# chattr -i /etc/sudoers
[root@web01 ~]# chmod 640 /etc/sudoers
[root@web01 ~]# echo "zabbix  ALL=(ALL)      NOPASSWD: ALL" >> /etc/sudoers
[root@web01 ~]# chmod 440 /etc/sudoers
[root@web01 ~]# chattr +i /etc/sudoers  2)修改zabbix的server服务器端fping的权限 ,这一步很重要!!
[root@zabbix01 ~]# ll /usr/local/sbin/fping
-rwxr-xr-x 1 root root 67110 12月 11 17:18 /usr/local/sbin/fping
[root@zabbix01 ~]# chmod u+s /usr/local/sbin/fping  然后切换到zabbix用户下进行测试
[root@zabbix01 ~]# su - zabbix
[zabbix@zabbix01 ~]$ /usr/local/sbin/fping -s oa-mob01.kevin.cn
oa-mob01.kevin.cn is alive
       1 targets
       1 alive
       0 unreachable
       0 unknown addresses
       0 timeouts (waiting for response)
       1 ICMP Echos sent
       1 ICMP Echo Replies received
       0 other ICMP received
0.58 ms (min round trip time)
0.58 ms (avg round trip time)
0.58 ms (max round trip time)
        0.001 sec (elapsed real time  如果返回 XX.XX.XX.XX is alive,那说明是OK的了!
  10)问题说明:在一台zabbix被监控服务器上(64位centos6.8系统,64G内容)启动zabbix_agent,发现进程无法启动,10050端口没有起来!
  启动zabbix_agent进程没有报错,但10050端口没有正常启动起来。
[root@ctl ~]# /usr/local/zabbix/sbin/zabbix_agentd
[root@ctl ~]# ps -ef|grep zabbix_agent
root 27506 27360 0 11:07 pts/5 00:00:00 grep --color zabbix
[root@ctl etc]# lsof -i:10050  查看/usr/local/zabbix/logs/zabbix_agentd.log日志,发现报错如下:
  ................
  27667:20161027:111554.851 cannot allocate shared memory of size 657056: [28] No space left on device
  27667:20161027:111554.851 cannot allocate shared memory for collector
  ..............
  原因分析:
  这是因为内核对share memory的限制造成的。
  处理过程记录:
[root@ctl logs]# ipcs -l
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 1940588
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1
------ Semaphore Limits --------
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 100
semaphore max value = 32767
------ Messages: Limits --------
max queues system wide = 32768
max size of message (bytes) = 65536
default max size of queue (bytes) = 65536  从上面命令结果可以看到:
  max total shared memory设置的是2M,max seg size设置的是8M,这显然不够allocate(分配)zabbix_agent启动所使用的内存。
  查看目前的共享内存设置,
[root@ctl logs]# sysctl -a|grep shm
kernel.shmmax = 1987162112
kernel.shmall = 2097152
kernel.shmmni = 4096
kernel.shm_rmid_forced = 0
vm.hugetlb_shm_group = 0  其中kernel.shmall代表总共能分配的共享内存,这里是2G,kernel.shmax代表单个段能allocate的内存(以字节为单位),这里是2M,所以肯定有问题!
  然后查看/etc/sysctl.conf
[root@ctl logs]# cat /etc/sysctl.conf
........
kernel.shmall = 2097152
kernel.shmmax = 1987162112  显然在sysctl.conf文件里设置的kernel.shamll和kernel.shmmax参数的值小了。
  --------------------------------------------------------------------------------------------------------------------------------------------------
  本机是64位的centos 6.8系统,64G内存,查看其它同系统的被监控服务器发现:
[root@bastion-IDC ~]# cat /etc/sysctl.conf
........
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
[root@ctl logs]# ipcs -l
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 67108864
max total shared memory (kbytes) = 17179869184
min seg size (bytes) = 1
------ Semaphore Limits --------
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 100
semaphore max value = 32767
------ Messages: Limits --------
max queues system wide = 32768
max size of message (bytes) = 65536
default max size of queue (bytes) = 65536  即64位的centos6系统(64G)的上面两个参数的默认值是64G和4G,设置的都是系统能识别的最大内存。
  ---------------------------------------------------------------------------------------------------------------------------------------------------
  现在只需要在本机调大这两个参数值即可解决问题!
[root@ctl logs]# cat /etc/sysctl.conf
........
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.msgmnb = 65536
kernel.msgmax = 65536
执行sysctl -p生效
[root@ctl logs]# sysctl -p  再次查看发现已经修改成功了!
[root@ctl logs]# sysctl -a|grep shm
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmmni = 4096
kernel.shm_rmid_forced = 0
vm.hugetlb_shm_group = 0
[root@ctl logs]# ipcs -l  ------ Shared Memory Limits --------
  max number of segments = 4096
  max seg size (kbytes) = 67108864
  max total shared memory (kbytes) = 17179869184
  min seg size (bytes) = 1
  ------ Semaphore Limits --------
  max number of arrays = 128
  max semaphores per array = 250
  max semaphores system wide = 32000
  max ops per semop call = 100
  semaphore max value = 32767
  ------ Messages: Limits --------
  max queues system wide = 32768
  max size of message (bytes) = 65536
  default max size of queue (bytes) = 65536
  最后重新启动zabbix,发现10050端口顺利启动了:
[root@ctl ~]# /usr/local/zabbix/sbin/zabbix_agentd
[root@ctl logs]# ps -ef|grep zabbix
zabbix 27776 1 0 11:22 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_agentd
zabbix 27777 27776 0 11:22 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: collector [idle 1 sec]
zabbix 27778 27776 0 11:22 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: listener #1 [waiting for connection]
zabbix 27779 27776 0 11:22 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: listener #2 [waiting for connection]
zabbix 27780 27776 0 11:22 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: listener #3 [waiting for connection]
zabbix 27781 27776 0 11:22 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
root 28188 27360 0 11:48 pts/5 00:00:00 grep --color zabbix
[root@ctl logs]# lsof -i:10050
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
zabbix_ag 27776 zabbix 4u IPv4 112357384 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 27777 zabbix 4u IPv4 112357384 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 27778 zabbix 4u IPv4 112357384 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 27779 zabbix 4u IPv4 112357384 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 27780 zabbix 4u IPv4 112357384 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 27781 zabbix 4u IPv4 112357384 0t0 TCP *:zabbix-agent (LISTEN) zabbix告警
    More than 100 items having missing data for more than 10 minutes
   

    查看zabbix-Administration-Queue-Overview by proxy

    发现大量的等待item


    原因分析:

    1.server端与proxy端时间不同步

    2.server端分配的缓存不够

    3.server端分配的线程不够

    4.server端负载比较大{CPU,IO,MEM}
vim /usr/local/zabbix/etc/zabbix_server.conf
        StartPollers=500
        StartPollersUnreachable=50
        StartTrappers=30
        StartDiscoverers=6
        CacheSize=1G
        CacheUpdateFrequency=300
        StartDBSyncers=20
        HistoryCacheSize=512M
        TrendCacheSize=256M
        HistoryTextCacheSize=80M
        ValueCacheSize=1G




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-664521-1-1.html 上篇帖子: Zabbix篇五:配置参数优化 下篇帖子: zabbix中的Userparameter
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表