一 zabbix功能简介

1.zabbix三大监控组件

  • zabbix server

    • web gui
    • database
    • zabbix_server
  • zabbix proxy
  • agent client

2.监控流程

  1. agent client安装在被监控的主机
  2. agent负责定期收集客户端本地各项数据,并发送到server端
  3. zabbix server收到数据,将数据存储到数据库中
  4. 用户基于zabbix web看到图形数据

3.zabbix组件功能

  • zabbix server 负责接收agent发送的报告信息的核心组件,所有配置、统计数据、操作数据由其组织进行
  • database storage 用于存储所有的配置信息,以及存储有zabbix client收集到的数据
  • web interface zabbix的gui接口,通常与server运行在同一台主机上
  • proxy 用于分布式监控环境,为减轻server压力,代理server收集部分被监控端的监控数据并统一发送给server
  • zabbix agent 部署在被监控主机上,负责收集本地数据并发往server端或者proxy端

4.5个监控程序

  • zabbix_server 服务端守护进程,用于接收zabbix_agentd/zabbix_get/zabbix_sender/zabbix_proxy的数据
  • zabbix_agentd 客户端守护进程,负责收集客户端本地数据,cpu/mem/disk/io/network等
  • zabbix_get zabbix数据获取工具,在server端或者proxy端执行获取远程客户端信息的命令
  • zabbix_sender zabbix数据发送工具,在client端使用并发送数据给server或者proxy,耗时长,通常用脚本执行完毕后用于主动提交数据
  • zabbix_proxy zabbix分布式代理守护进程,分布式监控架构需要另外部署

5.常见3种监控方式

  • agent 以zabbix_agent客户端插件监控OS状态
  • SNMP 监控网络设备
  • IPMI 智能平台管理接口(intelligent platform management interface),监控设备物理特性,设备加电即可监控
agent主被动模式

在client配置文件中修改参数

  • 主动模式 默认,StartAgents=1

    • agent主动请求server获取监控项列表
    • 主动将监控项需要检测的数据发送给server/proxy
    • agent首先向参数ServerActive配置的IP请求获取active items
    • 获取并提交active items数据给server/proxy
  • 被动模式 StartAgents=0

    • Server向agent请求获取监控项的数据
    • agent返回数据
    • server打开一个TCP连接,server发送请求agent.ping
    • agent接收到请求并响应
    • server处理接收到的数据

    6.监控名词

  • host 被监控的对象,可以是主机、设备

  • host group host的组,批量操作

  • item 监控项,items值有独立的keys进行识别

  • trigger 触发器,为某个item设置触发器,达到触发条件执行actie动作

  • action 动作,对于特定时间预先定义处理方法,可以发送信息提醒或者发送命令

  • event 事件,引起触发器称之为一个事件

  • escalation 报警升级,发送警报或执行远程命令的自定义方案,比如多长时间发送多少次告警

  • media 发送通知发送,常用email

  • notification 提醒,通过media设置的方式向用户发送有关事件的信息

  • template 模板,快速应用item、trigger、graph、screen、application给host或者host group

  • web scennario web场景,用于检车web站点,监控http头部代码

  • frontend web前段,zabbix的web接口

  • graph 监控图像


二 zabbix部署

https://excellmedia.dl.sourceforge.net/project/zabbix/ZABBIX Latest Stable/3.4.7/zabbix-3.4.7.tar.gz

http://www.techoism.com/install-zabbix-server-on-centosrhel-765/

1.系统环境
  • OS版本:centos7.1
  • mysql版本:5.6.39
  • zabbix版本:3.2.6
2.下载zabbix
wget https://excellmedia.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.7/zabbix-3.4.7.tar.gz
3.server和client都安装依赖包和创建zabbix用户
yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI libevent libevent-devel libxml2 libxml2-devel
groupadd zabbix
useradd -g zabbix zabbix
usermod -s /sbin/nologin zabbix

For all of the Zabbix daemon processes, an unprivileged user is required. If a Zabbix daemon is started from an unprivileged user account, it will run as that user.

However, if a daemon is started from a 'root' account, it will switch to a 'zabbix' user account, which must be present. To create such a user account (in its own group, “zabbix”) on Linux systems

4.server端配置
1.创建数据库
create database zabbix default charset=utf8;
grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
2.解压zabbix并导入sql到DB

sql脚本在zabbix-3.4.7/database/mysql/

tar -zxvf zabbix-3.4.7.tar.gz
mysql -uzabbix -pzabbix zabbix < zabbix-3.4.7/database/mysql/schema.sql
mysql -uzabbix -pzabbix zabbix < zabbix-3.4.7/database/mysql/images.sql
mysql -uzabbix -pzabbix zabbix < zabbix-3.4.7/database/mysql/data.sql
3.编译安装zabbix server

./configure --help 查看帮助

cd zabbix-3.4.7
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make && make install
ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/

configure完毕后提示直接make install

***********************************************************
* Now run 'make install' *
* *
* Thank you for using Zabbix! *
* <http://www.zabbix.com> *
***********************************************************
4.改配置
cd /usr/local/zabbix/etc
cp -rp zabbix_server.conf zabbix_server.conf.bak
vi zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
5.拷贝启动
[root@mysql01 tru64]# pwd
/dvd/zabbix-3.4.7/misc/init.d/tru64
[root@mysql01 tru64]# cp /dvd/zabbix-3.4.7/misc/init.d/tru64/zabbix_server /etc/init.d/
[root@mysql01 tru64]# chmod o+x /etc/init.d//zabbix_server
[root@mysql01 tru64]# cd /etc/init.d
[root@mysql01 init.d]# ls -l|grep zabbix_server
-rw-r--r-x 1 root root 1521 Feb 26 23:00 zabbix_server
6.配置interface web
  • 安装php5.6
yum install http://repo.webtatic.com/yum/el7/epel-release.rpm -y
yum install https://mirror.webtatic.com/yum/el7/webtatic-release.rpm -y
yum install php70w php70w-mysql php70w-bcmath php70w-mbstring php70w-gd php70w-xml httpd httpd-devel httpd-tools -y

yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86.64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64 httpd httpd-devel httpd-tools -y

  • 拷贝frontends到apache站点
[root@mysql01 html]# mkdir /var/www/html/zabbix/
[root@mysql01 html]# cp -rp /dvd/zabbix-3.4.7/frontends/php/* /var/www/html/zabbix/
  • 更改php.ini
cp -rp /etc/php.ini /etc/php.ini.bak
sed -i 's/\;date.timezone =/date.timezone=PRC/g' /etc/php.ini
sed -i '/max_input_time =/s/60/300/' /etc/php.ini
sed -i '/mbstring.func_overload = 0/a\mbstring.func_overload = 1' /etc/php.ini
sed -i '/post_max_size =/s/8M/32M/' /etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /etc/php.ini
7.启动zabbix_server、apache
/etc/init.d/zabbix_server start
systemctl start httpd.service

-c --config config-file Path to the configuration file default: "/usr/local/zabbix/etc/zabbix_server.conf"

8.初始化zabbix

http://192.168.3.4/zabbix/







name会在网页标题了显示







9.初始化时候的错误处理

1.php依赖报错处理:yum install php70w-mysql php70w-bcmath php70w-mbstring php70w-gd php70w-xml -y

At least one of MySQL, PostgreSQL, Oracle or IBM DB2 should be supported.
PHP bcmath extension missing (PHP configuration parameter --enable-bcmath).
PHP mbstring extension missing (PHP configuration parameter --enable-mbstring).
PHP gd extension missing (PHP configuration parameter --with-gd).
PHP gd PNG image support missing.
PHP gd JPEG image support missing.
PHP gd FreeType support missing.
PHP xmlwriter extension missing.
PHP xmlreader extension missing.

2.DB connection报错处理:修改zabbix_server.confDBSocket=/data/my3306/run/mysql.sock 无效

Error connecting to database: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

最终修改方法:ln -s /data/my3306/run/mysql.sock /var/lib/mysql/mysql.sock

3.第二天换了一台机器重新装又报权限不足

Error connecting to database: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

处理:

[root@mysql01 my3306]# mkdir /var/lib/mysql
[root@mysql01 my3306]# ln -s /data/my3306/run/mysql.sock /var/lib/mysql/mysql.sock

原因:

getsebool -a | grep httpd
httpd_can_network_connect_db --> off

处理 /usr/sbin/setsebool -P httpd_can_network_connect_db on,用localhost依然不行

根本原因:

[root@docker02 dvd]# getenforce
Enforcing
[root@docker02 dvd]# setenforce 0
[root@docker02 dvd]# getenforce
Permissive

4.登录首页最下方提醒

Zabbix server is not running: the information displayed may not be current

[root@docker02 selinux]# getsebool -a | grep httpd
httpd_anon_write --> off
httpd_builtin_scripting --> on
httpd_can_check_spam --> off
httpd_can_connect_ftp --> off
httpd_can_connect_ldap --> off
httpd_can_connect_mythtv --> off
httpd_can_connect_zabbix --> off

开启后依然提醒not running /usr/sbin/setsebool -P httpd_can_connect_zabbix on

https://sysads.co.uk/2013/11/08/zabbix-server-running-alert/

  • 修改/var/www/html/zabbix/conf/zabbix.conf.php,下面参数需要和/etc/hosts对应

    $ZBX_SERVER = 'zabbix-srv';
10.server上启动agent

  • 定位到Configuration-host-enable Zabbix server
  • 报错111 conneciton refused
  • server log报错如下:
12116:20180227:134001.811 temporarily disabling Zabbix agent checks on host "Zabbix server": host unavailable
  • 启动zabbix_agentd即可正常 /etc/init.d/zabbix_agentd start
[root@docker02 tru64]# pwd
/dvd/zabbix-3.4.7/misc/init.d/tru64
[root@docker02 tru64]# cp zabbix_agentd /etc/init.d/
[root@docker02 tru64]# chmod o+x /etc/init.d/zabbix_agentd
[root@docker02 tru64]# /etc/init.d/zabbix_agentd start
5.agent客户端配置
1.解压源码编译安装zabbix agent
./configure --prefix=/usr/local/zabbix --enable-agent
make && make install
ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
2.修改zabbix_agentd.conf
  • 指定server IP
  • 设置本地hostname,IP或者DNS
vi /usr/local/zabbix/etc/zabbix_agentd.conf
Server=172.16.3.154
ServerActive=172.16.3.154
Hostname=docker01

默认主动模式

$ cat zabbix_Agentd.conf

Server=X.X.X.X #如果设置为纯被动模式,则应该注释掉这一条指令

ServerActive=X.X.X.X #主动模式的server IP地址

Hostname= #在WebUI上声明主机时所使用相同的主机名(区分大小写),不配置则使用主机名。

StartAgents=0 #客户端Agent模式,设置为0表示关闭被动模式。被监控端的zabbix_agentd不监听本地端口,netstat无法查看到zabbix_agentd监听的端口。

3.创建zabbix用户并拷贝启动
[root@docker01 tru64]# groupadd zabbix
[root@docker01 tru64]# useradd -g zabbix zabbix
[root@docker01 tru64]# usermod -s /sbin/nologin zabbix
[root@docker01 tru64]# pwd
/dvd/zabbix-3.4.7/misc/init.d/tru64
[root@docker01 tru64]# cp zabbix_agentd /etc/init.d/
[root@docker01 tru64]# chmod o+x /etc/init.d/zabbix_agentd
[root@docker01 tru64]# /etc/init.d/zabbix_agentd start
4.在server端添加客户端监控
5.server无法监控agent时,可在server用命令获取items key测试
[root@docker02 etc]# /usr/local/zabbix/bin/zabbix_get -s 172.16.3.153 -k system.uname
Linux docker01 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64

mysql小白系列_08 zabbix3.2.6概念及部署的更多相关文章

  1. mysql小白系列_08 zabbix添加自定义监控项items和触发器

    监控mysql存活 1.配置agent自定义参数 vi /usr/local/zabbix/etc/zabbix_agentd.conf Include=/usr/local/zabbix/etc/z ...

  2. mysql小白系列_03 体系结构-线程池

    thread pool的原理是什么? 为什么用double write就能解决page坏的问题? Innodb redo log 与 binlog有什么区别?有了Innodb redo log为什么还 ...

  3. mysql小白系列_14 线上故障分析与排错

    1.重现故障5---线上执行update报错,并处理.(表结构和UPDATE语句自己构造,请给出详细步骤) 1)update故障出现ERROR 1206 (HY000): The total numb ...

  4. mysql小白系列_13 Online DDL

    Online DDL: 一.FIC之前的添加删除二级索引: 1.首先创建临时表,定义目标新表的选项和索引 2.逐行拷贝数据到临时表 3.插入行时更新索引信息 4.数据全部被拷贝到新表后,删除旧表,re ...

  5. mysql小白系列_12 sysbench

    压测 1.查看机器负载load top - load average 1m 5m 15m cat /proc/loadavg 与CPU个数有关,1个load表示1个CPUcat /proc/cpuin ...

  6. mysql小白系列_11 MHA

    一.MHA是什么?能干什么的 (1)以Perl语言写的一套Mysql故障切换方案,一个脚本管理工具 (2)保障数据库的高可用性 (3)修复多个slave之间的差异日志,最终使所有的slave保持数据一 ...

  7. mysql小白系列_10 mysql主从复制原理

    1.如何解决主从复制延迟的问题? (1)主从复制原理 http://www.cnblogs.com/jenvid/p/8410922.html 1.salve执行slave start,salve服务 ...

  8. mysql小白系列_09 mysql性能优化关键点

    一 服务器参数调优,有哪些关键点? 1. 应用访问优化 优化方法 性能提升效果 优化成本 说明 减少数据访问能不访问就不访问-减少磁盘IO 1~1000 低 缓存服务器缓存mysql数据,Redis. ...

  9. mysql小白系列_07 锁与事务

    1.MySQL参数autocommit生产环境设1还是0?为什么? 2.MySQL参数tx_isolation生产环境上大多数是设什么值,为什么? 3.与MySQL锁相关的有哪些因素? 1.MySQL ...

随机推荐

  1. 2019-2020-1 20199310《Linux内核原理与分析》第二周作业

    1.问题描述 众所周知,计算机是20世纪最伟大的发明之一,计算机是如何工作的呢?本文主要通过计算机的组成结构和工作原理,以及汇编代码工作过程来进行详细叙述. 2.解决过程 2.1 冯·诺依曼体系结构 ...

  2. ansible的role(6)

    roles的优点 roles能够根据层次型结构自动的装载变化量文件,task,以及handles等. 要使用肉了是只需要在playbook中使用include引入即可. 主要使用场景复制代码较高的情况 ...

  3. 企业级 Harbor 镜像仓库

    Harbor是由VMWare公司开源的容器镜像仓库.事实上,Harbor是在Docker Registry上进行了相应 的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基 ...

  4. Memcached在企业中的应用

    Memcached简介 Memcached是一个自由开源的,高性能,分布式内存对象缓存系统. Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitz ...

  5. (转)对中级 Linux 用户非常有用的 20 个命令

    也许你已经发现第一篇文章非常的有用,这篇文章是继对初级Linux用户非常有用的20个命令的一个延伸. 第一篇文章的目的是为新手准备的而这篇文章则是为了Linux的中高级用户.在这里你将学会如何进行自定 ...

  6. Spring Boot Starters介绍

    文章目录 Web Start Test Starter Data JPA Starter Mail Starter 结论 对于任何一个复杂项目来说,依赖关系都是一个非常需要注意和消息的方面,虽然重要, ...

  7. SQL计算算数表达式的函数自定义(加减乘除)

    一.整体思路:循环遍历表达式字符串,设置一个index从第一个字符开始检测当前数字是否可以和后面的数字进行运算,如果可以运算,将两个数挑出来运算,然后用运算的结果替换原来表达式中的这两个数和符号,计算 ...

  8. 【Linux常见命令】diff命令

    diff - compare files line by line diff命令用于比较文件的差异. diff以逐行的方式,比较文本文件的异同处. 如果指定要比较目录,则diff会比较目录中相同文件名 ...

  9. C# 对 TCP 客户端的状态封装

    TCP客户端连接TCP服务器端有几种应用状态: 与服务器的连接已建立 与服务器的连接已断开 与服务器的连接发生异常 应用程序可按需求合理处理这些逻辑,比如: 连接断开后自动重连 连接断开后选择备用地址 ...

  10. 图论--BFS总结

    1.关于BFS的Key_word: ①hash或状态压缩记录状态  ②状态剪枝 ③反向BFS ④双向BFS ⑤特殊初始化VIS数组 ⑥动态图的搜索 ⑦优先队列优化搜索 ⑧数位搜索 下面是一一讲解: 1 ...