当前位置 : 主页 > 网络编程 > 其它编程 >

zabbix简单的原理以及zabbix的部署

来源:互联网 收集:自由互联 发布时间:2023-07-02
常用的监控nagios图形不够美观,一般结合cacti使用,他是一个开源的网络监控报警服务,在系统出现故障时,会在第一时间内,以各种方式(微信,邮件,短信,钉钉)通知运维人员,可以 常用的监控
常用的监控nagios图形不够美观,一般结合cacti使用,他是一个开源的网络监控报警服务,在系统出现故障时,会在第一时间内,以各种方式(微信,邮件,短信,钉钉)通知运维人员,可以

常用的监控

  • nagios 图形不够美观,一般结合cacti使用,他是一个开源的网络监控报警服务,在系统出现故障时,会在第一时间内,以各种方式(微信,邮件,短信,钉钉)通知运维人员,可以充分发挥自动化运维,可以减少人力资源,节约成本.

  • cacti的监控是轮询监控,当数据量较大时,效率会比较低,如果数据时,也不会检测,不会通知运维人员数据出现了有异常

  • ganglia 是一个开源的监视集群项目,主要用来监控cpu,内存,硬盘利用率,i/o负载,网络监控的流量,分配系统的资源,提高系统的整体性能

  • zabbix 基于web页面的提供分布式系统监控页面,是一个开源的网络监控页面,支持主动轮询和被动捕获,所有的报告,统计信息和配置参数都可以通过基于web的前端页面进行访问,主动和被动都是针对与客户端,告警的方式:微信 钉钉 邮件 短信

简而言之:

zabbix图形化界面美观

支持分布式监控,能监控的agent多,有图形的配置界面,有自动发现的功能,支持多种方式

对比

zabbix和nagios都是并发监控,所以对cpu的性能比较高

**zabbix 优点:**开源的,图形化界面美观,支持分布式集中管理,监控的代理多,支持的多,可以有自动发现的功能,实现自动化,开放式接口,扩展性强,api的支持,方便与其他的系统结合

缺点: 对cpu的性能要求高,所有的数据都在数据库内部,产生数据很大时,瓶颈在数据库.

被动方式和主动方式的区别

被动方式:相对于agent而言,由server向agent请求获取各个配置的监控项目.agent接受完请求之后,获取数据,在返回给server.

主动方式:对于agent来说,由agent向server请求与他本身相关的监控项目,处理完成之后,返回给server.主动监控能节约server的资源.

被动检查:agent应答数据的请求,server向agent询问数据,agent返回结果.

主动检查:由agent主动从server了解监控的列表进行单独处理,处理完毕之后返回给server.

zabbix的部署

准备三台机器,一台是监控的服务器,两台作为监控的节点,环境干净,防火墙,selinux关闭,yum可以使用.网络畅通.

  • 域名解析,修改主机名
  • [rootzabbix ~]# /etc/hosts192.168.122.115 zabbix192.168.122.166 node1192.168.122.129 node2[rootnode1 ~]# hostnamectl --static set-hostname zabbix-server[rootnode1 ~]# hostnamectl --static set-hostname node1[rootnode1 ~]# hostnamectl --static set-hostname node2

  • 关闭防火墙,selinux省略
  • 开启邮件服务
  • [rootzabbix ~]# systemctl start postfix[rootzabbix ~]# systemctl enable postfix

  • 安装yum仓库

    [rootzabbix ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

  • 更新yum仓库

    [rootzabbix ~]# yum repolist

  • 安装zabbix server ang agent

  • [rootzabbix ~]# yum -y install epel-release.noarch[rootzabbix ~]# yum -y install zabbix-agent zabbix-get zabbix-sender zabbix-server-mysql

  • 安装zabbix前端

    [rootzabbix ~]# yum -y install centos-release-scl

    开启前端的安装源仓库的配置

    [rootzabbix ~]# vim /etc/yum.repos.d/zabbix.repo[zabbix-frontend]...enabled1...

    安装zabbix

  • [rootzabbix ~]# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y

    2 安装数据库

    1.创建mariadb.repo

    [rootzabbix ~]# vim /etc/yum.repos.d/mariadb.repo[mariadb]name MariaDB baseurl https://mirrors.ustc.edu.cn/mariadb/yum/10.5/centos7-amd64 gpgkeyhttps://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB gpgcheck1

    2、yum 安装最新版本 mariadb

    [rootzabbix ~]# yum install -y MariaDB-server MariaDB-clien

    3、修改配置文件

    [rootzabbix ~]# vim /etc/my.cnf.d/server.cnf[mysqld]skip_name_resolve ON # 跳过主机名解析innodb_file_per_table ON # 开启独立表空间innodb_buffer_pool_size 256M # 缓存池大小max_connections 2000 # 最大连接数log-bin master-log # 开启二进制日志

    4、重启数据库服务

    [rootzabbix ~]# systemctl restart mariadb[rootzabbix ~]# mysql_secure_installation # 初始化mariadb

    5、创建数据库并授权账号

    MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; # 创建zabbix数据库MariaDB [(none)]> grant all on zabbix.* to zabbix192.168.152.% identified by 1234.com;# 注意授权网段MariaDB [(none)]> flush privileges; # 刷新授权

    6、导入 Zabbix 服务表

    使用 create.sql.gz 生成所需要的表

    [rootzabbix ~]# gzip -d /usr/share/doc/zabbix-server-mysql-5.0.2/create.sql.gz #解压包[rootzabbix ~]# mysql -uzabbix -h192.168.37.111 -p1234.com zabbix show databases; #登录数据库,并查看表,有166个表,说明导入成功,若没有导入成功,可以产出之前的库,进入数据库,重新导入,执行下边这条命令.[rootzabbix ~]# mysql -uzabbix -h192.168.37.111 -p1234.comsource /use/share/doc/zabbix-server-mysql-5.0.2/create.sql.gz > create.sql

    三 配置server

    [rootzabbix ~]# cd /etc/zabbix/备份配置文件[rootzabbix zabbix]# lsweb zabbix_agentd.conf zabbix_agentd.d zabbix_server.conf#为了方便我们以后恢复我们把配置文件备份一下[rootzabbix zabbix]# cp zabbix_server.conf{,.bak}[rootzabbix zabbix]# vim zabbix_server.confListenPort10051 # 默认监听端口SourceIP192.168.37.111 # 发采样数据请求的 IP打开日志的类型logtypefile

    数据库的相关配置

    DBHost192.168.37.111 #数据库对外的主机DBNamezabbix #数据库名称DBUserzabbix #数据库用户DBPasswordzabbix #数据库密码DBPort3306 #数据库启动端口

    有些已经同步好的便不用在修改了

    启动服务

    [rootzabbix zabbix]# systemctl start zabbix-server.service

    查看端口

    [rootzabbix zabbix]# ss -nutl |grep 10051tcp LISTEN 0 128 *:10051 *:* #ipv4的端口 tcp LISTEN 0 128 :::10051 :::* #ipv6的端口

    配置web GUI

    [rootzabbix ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf最后一行: php_value[date.timezone] Asia/Shanghai

    启动httpd服务

    [rootqfedu.com ~]# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm[rootqfedu.com ~]# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

    进入浏览器访问

    http://img.558idc.com/uploadfile/allimg/0629/1204916-20171202111651776-1822649685.jpg)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F6eXdIqk-1600692748975)(/home/afang/文档/第三阶段/第四周/监控平台部署及应用/assets/1204916-20171202111703448-1933168823.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FvJNbfMx-1600692748978)(/home/afang/文档/第三阶段/第四周/监控平台部署及应用/assets/1204916-20171202111849495-310227466.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PBCxZVtG-1600692748980)(/home/afang/.config/Typora/typora-user-images/image-20200921203858556.png)]

    进入之后还有登录界面,这里展示的已经是进入之后的页面

    6、配置 agent 端

    • 在被监控的主机安装好agent设置好 server并添加到 server 端将其纳入监控系统中。

    1、安装 zabbix 安装源

    服务器10051

    客户端10050

    [rootnode1 ~]# wget https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm[rootnode1 ~]# rpm -ivh zabbix-release-5.0-1.el7.noarch.rpm[rootnode1 ~]# yum -y install epel-release.noarch[rootnode1 ~]# yum install zabbix-agent zabbix-sender -y

    2、修改配置文件

    1、确认配置文件

    [rootnode1 zabbix]# rpm -ql zabbix-agent /etc/logrotate.d/zabbix-agent/etc/zabbix/zabbix_agentd.conf/etc/zabbix/zabbix_agentd.d/usr/lib/systemd/system/zabbix-agent.service/usr/lib/tmpfiles.d/zabbix-agent.conf/usr/sbin/zabbix_agentd/usr/share/doc/zabbix-agent-5.0.2/usr/share/doc/zabbix-agent-5.0.2/AUTHORS/usr/share/doc/zabbix-agent-5.0.2/COPYING/usr/share/doc/zabbix-agent-5.0.2/ChangeLog/usr/share/doc/zabbix-agent-5.0.2/NEWS/usr/share/doc/zabbix-agent-5.0.2/README/usr/share/doc/zabbix-agent-5.0.2/userparameter_mysql.conf/usr/share/man/man8/zabbix_agentd.8.gz/var/log/zabbix/var/run/zabbix

    2、编辑配置文件

    对配置文件做一个备份然后修改配置文件

    [rootnode1 ~]# cd /etc/zabbix/[rootnode1 zabbix]# lszabbix_agentd.conf zabbix_agentd.d[rootnode1 zabbix]# cp zabbix_agentd.conf{,.bak}[rootnode1 zabbix]# vim zabbix_agentd.conf

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H6hOS6cq-1600692748982)(/home/afang/文档/监控平台部署及应用/assets/1204916-20171202111757729-865694486.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8qqWsUUH-1600692748982)(/home/afang/文档/监控平台部署及应用/assets/1204916-20171202111803370-1250338239.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yjSa3Kg2-1600692748984)(/home/afang/文档/监控平台部署及应用/assets/1204916-20171202111809401-778949871.png)]

    • 重点需要修改 GENERAL PARAMETERS 段

    • 是否允许别人执行远程操作命令默认是禁用的打开的话会有安全风险。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PDHFNGts-1600692748984)(/home/afang/文档/监控平台部署及应用/assets/1204916-20171202111819198-1483932137.png)]

    Server192.168.37.111 # 指明服务器是谁的ListenPort10050 # 自己监听的端口ListenIP0.0.0.0 # 自己监听的地址0.0.0.0表示本机所有地址StartAgents3 # 优化时使用的ServerActive192.168.37.111 # 主动监控时的服务器Hostnamenode1.zabbix.com # 自己能被server端识别的名称[rootnode1 zabbix]# grep -Ev ^$|# zabbix_agentd.confPidFile/var/run/zabbix/zabbix_agentd.pidLogFile/var/log/zabbix/zabbix_agentd.logLogFileSize0EnableRemoteCommands1LogRemoteCommands1Server192.168.152.167ListenPort10050ListenIP192.168.152.150ServerActive192.168.152.167Hostnamenode1Include/etc/zabbix/zabbix_agentd.d/*.conf

    启动服务

    [rootnode1 zabbix]# systemctl start zabbix-agent.service

    查看端口是否已开启

    [rootnode1 zabbix]# ss -ntul |grep 10050tcp LISTEN 0 128 *:10050 *:*

    ​ 已经开启成功就可以去 server 端添加主机了其他主机进行同样的操作唯一不同的就是配置文件中的 Hostname 要设为对应主机名.到这里,连个节点基本已经部署完成.具体的使用…

    网友评论