centos7下的zabbix3.4的安装与使用

本文详细介绍在CentOS7环境中安装与配置Zabbix3.4的过程,涵盖Docker环境下解决systemctl问题、安装Zabbix服务器、数据库配置、Web界面设置、Zabbix Agent部署及监控项配置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

centos7下的zabbix3.4的安装与使用

  • 参考网站
  • Zabbix基本概念
    • zabbix是干什么的
    • 对服务器、网络设备等硬件资源进行监控
    • 出现异常及时通知
    • 通讯方式
    • agent 代理程序进行监控,传统的 服务/客户端 模型,首选
    • ssh/telnet 远程控制协议
    • SNMP 简单的网络管理协议,适用于无法安装agent的路由器、交换机等
    • IPMI 通过IPMI接口进行监控,物理特征:温度、电压等
    • JMX 通过JAVAk管理扩展进行监控,适用于虚拟机JVM
    • 正常网络架构

    • 常用端口详情

    • Docker下端口详情

    • 基本工作模式

    • 主动模式:agent主动向server发送
    • 被动模式:server从agent中拉取
    • 两者可共同存在,不冲突
  • 当前环境(宿主机环境)
    • docker

    • Ubuntu

  • 下载centos7镜像,并解决无法systemctl的问题
    • 创建Dockerfile
    touch Dockerfile
    
    • 写入Dockerfie
    vim Dockerfile
    
    FROM centos:7
    ENV container docker
    RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == \
    systemd-tmpfiles-setup.service ] || rm -f $i; done); \
    rm -f /lib/systemd/system/multi-user.target.wants/*;\
    rm -f /etc/systemd/system/*.wants/*;\
    rm -f /lib/systemd/system/local-fs.target.wants/*; \
    rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
    rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
    rm -f /lib/systemd/system/basic.target.wants/*;\
    rm -f /lib/systemd/system/anaconda.target.wants/*;
    VOLUME [ "/sys/fs/cgroup" ]
    CMD ["/usr/sbin/init"]
    
    • 生成镜像
    docker build --rm -t xrzs/centos7 .
    
    • 生成容器
    docker run --privileged --name "xrzs" -tid -p 9000:80 -p 9001:3306 -p 9002:8080 -p 9003:10051 -p 9004:10050 xrzs/centos7
    
    • 运行容器
    docker exec -it xrzs /bin/bash
    
  • 安装mysql
    • 更新yum
    yum -y update
    
    • 添加rpm的SQL源
    rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
    
    • 安装mysql
    yum install mysql-* --skip-broken
    
    • 安装vim
    yum install vim
    
    • 写入my.cnf末尾
    vim /etc/my.cnf
    
    innodb_file_per_table = 1
    innodb_status_file = 1
    innodb_buffer_pool_size = 6G
    innodb_flush_log_at_trx_commit = 2
    innodb_log_buffer_size = 16M
    innodb_log_file_size = 64M
    innodb_support_xa = 0
    default-storage-engine = innodb
    bulk_insert_buffer_size = 8M
    join_buffer_size = 16M
    max_heap_table_size = 32M
    tmp_table_size = 32M
    max_tmp_tables = 48
    read_buffer_size = 32M
    read_rnd_buffer_size = 16M
    key_buffer_size = 32M
    thread_cache_size = 32
    innodb_thread_concurrency = 8
    innodb_flush_method = O_DIRECT
    innodb_rollback_on_timeout = 1
    query_cache_size = 16M
    query_cache_limit = 16M
    collation_server = utf8_bin
    character_set_server = utf8
    
    • 设置开机自启动并启动
    systemctl enable mysqld && systemctl start mysqld
    
    • 查询临时密码
    grep 'temporary password' /var/log/mysqld.log
    

    • 重新设置root密码(新密码为:Xrzs@root2018)
    mysql_secure_installation
    ;6T_0+vqZ+Va
    Xrzs@root2018
    Xrzs@root2018
    
    • 重启mysql
    systemctl restart mysqld
    
    • 创建数据库zabbix并创建用户zabbix(密码为:Xrzs@zabbix2018)
    mysql -u root -p(需要输入第 10步中设置的自定义密码)
    
    Xrzs@root2018
    
    mysql>create database zabbix character set utf8; #创建数据库
    
    create user zabbix@'%' identified by 'Xrzs@zabbix2018'; #创建用户和密码
    
    mysql>grant all privileges on zabbix.* to zabbix@'%'; #赋权
    
    mysql>flush privileges;
    
    mysql>exit;
    
  • 安装httpd
    • 安装httpd
    yum -y install httpd
    
    • 设置开机自启动
    systemctl enable httpd.service
    
  • 安装php
    • 安装php
    yum install php
    
    • php版本(>=5.4)

    • 安装php扩展

     yum install php-mysqlnd php-gd libjpeg* php-snmp php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash php-common php-ctype php-xml php-xmlreader php-xmlwriter php-session php-mbstring php-gettext php-ldap php-mysqli --skip-broken
    
     yum install wget telnet net-tools python-paramiko gcc gcc-c++ dejavu-sans-fonts python-setuptools python-devel sendmail mailx net-snmp net-snmp-devel net-snmp-utils freetype-devel libpng-devel perl unbound libtasn1-devel p11-kit-devel OpenIPMI unixODBC
    
  • 安装zabbix3.4
    • 添加zabbix的源
    rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
    
  • 安装zabbix
    • 添加源
    yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-java-gateway zabbix-web
    
    • 解决zabbix-server-mysql未正常安装,安装路径下无文件
    yumdownloader  zabbix-server-mysql
    yum  remove zabbix-server-mysql
    rpm -ivh *.rpm
    
    • 导入zabbix表
    cd /usr/share/doc/zabbix-server-mysql-3.4.3
    zcat create.sql.gz | mysql -uroot zabbix -p
    Xrzs@root2018
    
    • 配置文件zabbix_server.conf写入数据库密码
    vim /etc/zabbix/zabbix_server.conf
    

    • 配置文件zabbix.conf写入时区
    vim /etc/httpd/conf.d/zabbix.conf
    

    • 重启mysql
    systemctl restart mysqld
    
    • 重启httpd和zabbix
    systemctl restart httpd && systemctl restart zabbix-server
    
    • 访问测试
    curl http://localhost/zabbix
    

    • 外部访问
    http://47.107.78.89:9000/zabbix/
    

  • Web启动向导
    • 第一步:确认php配置

    • 第二步:确认mysql数据库信息

    • 第三步:

    • 进入主页右下角,确认server运行中

  • 安装agent(centos7)
    • 创建容器
      docker run --privileged --name "agent1" -tid -p 7000:10050  xrzs/centos7
    
    • 运行容器
    docker exec -it agent1 /bin/bash
    
    • 配置源
      rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
    
    • 安装agent
    yum install -y zabbix-agent zabbix-sender
    
    • 查询关键配置文件zabbix_agentd.conf
    cat /etc/zabbix/zabbix_agentd.conf
    
    • 被动模式相关配置
    • Server:用于指定允许哪台服务器拉取当前服务器的数据,当agent端工作于被动模式,则代表server端会主动拉取agent端数据,那么server端的IP必须与此参数的IP对应,此参数用于实现基于IP的访问控制,如果有多个IP ,可以使用逗号隔开。
    • ListenPort:用于指定当agent端工作于被动模式时所监听的端口号,默认端口为10050,也就是说,server端默认访问10050端口,从而拉取数据。
    • ListenIP:用于指定agent端工作于被动模式时所监听的IP地址,默认值为0.0.0.0,表示监听本机的所有IP地址。
    • StartAgents:用于指定预生成的agent进程数量。
    • 主动模式相关配置
    • ServerActive:此参数用于指定当agent端工作于主动模式时,将信息主动推送到哪台server上,当有多个IP时,可以用逗号隔开。
    • Hostname:此参数用于指定当前主机的主机名,server端通过此参数对应的主机名识别当前主机。
    • RefreshActiveChecks:此参数用于指明agent端每多少秒主动将采集到的数据发往server端。
    • 同时设置主动与被动模式

    • 启动agent进程

     systemctl restart zabbix-agent
    
    • 配置开机自启动
     systemctl enable zabbix-agent
    
  • 将agent添加到server中
    • 创建主机

    • 主机信息

    • 查看主机群组

  • 添加监控项
    • 选择监控项

    • 添加监控规则

    • 详细信息

  • 安装agent(centos6)
    • 查看镜像
    docker images
    
    • 创建容器
    docker run -p 8000:10050 -i -t centos:6 /bin/bash
    

  • 下载
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.0/zabbix-3.2.0.tar.gz
  • 配置服务
vim /etc/services
zabbix-agent 10050/tcp # ZabbixAgent
zabbix-agent 10050/udp # ZabbixAgent
zabbix-trapper 10051/tcp # ZabbixTrapper
zabbix-trapper 10051/udp # ZabbixTrapper
  • 添加用户
groupadd zabbix
useradd -g zabbix zabbix
  • 安装依赖
yum install -y gcc mysql-community-devel libxml2-devel unixODBC-devel net-snmp-devel libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel fping
  • 解压
tar -zxvf zabbix-3.2.0.tar.gz
cd zabbix-3.2.0
./configure --prefix=/usr/local/zabbix --enable-agent
make install
  • 修改agentd配置文件
vi /usr/local/zabbix/etc/zabbix_agentd.conf
  • 修改启动配置,添加软链接
mkdir /var/log/zabbix
chown zabbix.zabbix /var/log/zabbix
cp zabbix-3.2.0/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
chmod 755 /etc/init.d/zabbix_agentd
ln -sv /usr/local/zabbix/sbin/* /usr/local/sbin/
ln -sv /usr/local/zabbix/bin/* /usr/local/bin/
  • 设置自启动
chkconfig zabbix_agentd on
service zabbix_agentd start
  • 如上配置后
  • 带参数监控项
    • 函数介绍网址
    https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/zabbix_agent
    https://www.zabbix.com/documentation/3.4/zh/manual/config/items/itemtypes/zabbix_agent
    
    • 添加磁盘利用率的监控

    • 效果

  • 触发器、事件、动作
    • 相关信息
    • 触发器:达到条件为触发,回归后为不触发
    • 事件:触发的某种事件
    • 动作:事件产生时采取的动作
    • 设置触发器

    • 详细信息

    • 效果

  • 定义报警媒介-邮件
    • 配置QQ邮箱
    账户设置-常规
    

  • 创建邮件报警

  • 详细信息

  • 为用户添加媒介

  • 创建动作

  • 详细信息

  • 效果

  • 定义报警媒介-脚本
    • 查询脚本默认目录
    cat /etc/zabbix/zabbix_server.conf|grep AlertScriptsPath
    

  • 创建脚本
touch zabbixTest.sh

  • 复制脚本到默认目录
cp zabbixTest.sh /usr/lib/zabbix/alertscripts
chmod 777 /usr/lib/zabbix/alertscripts/zabbixTest.sh
  • 配置媒介

  • 为用户添加媒介

  • 添加动作

  • 效果

  • 宏列表

https://www.zabbix.com/documentation/3.0/manual/appendix/macros/supported_by_location
  • 监控MySQL
    • 安装percona
     yum install https://www.percona.com/downloads/percona-monitoring-plugins/1.1.7/binary/redhat/6/x86_64/percona-zabbix-templates-1.1.7-1.noarch.rpm
    
    • 数据库创建只读用户
    mysql -u root -p
    GRANT SELECT, PROCESS, SUPER, REPLICATION CLIENT ON *.* TO 'percona'@'%' IDENTIFIED BY 'Xrzs@percona2018';
    flush privileges;
    
    • Select权限代表允许从表中查看数据,某些不查询表数据的select执行则不需 要此权限,如Select 1+1,Select PI()+2;而且select权限在执行update/delete 语句中含有where条件的情况下也是需要的
    • Process权限代表允许查看MySQL中的进程信息,比如执行showprocesslist,
    • Super权限代表允许执行一系列数据库管理命令,包括kill强制关闭某个连接 命令,change master to创建复制关系命令,以及create/alter/drop server等命 令
    • Replication client权限代表允许执行show master status,show slave status,show binary logs命令;Replication slave权限代表允许slave主机通过此用户连接master以便建立主从 复制关系
    • 配置连接数据库信息
    vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
    

  • 将监控的模板放入到zabbix的监控目录下,并开启监控该目录的功能
cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
  • 重启zabbix-agent
systemctl restart zabbix-agent
  • 下载模板
http://jaminzhang.github.io/soft-conf/Zabbix/zbx_percona_mysql_template.xml
  • 导入模板

  • 详细信息

  • 为主机添加模板

  • 添加web监控
    • 创建web监控

    • 详细信息

    • 效果

  • 创建SNMP监控(centos7)
    • 创建并运行docker容器
    docker pull polinux/snmpd
    docker run -d --name snmpd2 -p 8661:161/udp polinux/snmpd
    docker exec -it snmpd2 /bin/bash
    
    • 安装snmp
    yum install net-snmp net-snmp-utils
    
    • 查看snmp版本

    • 运作并设置自启动

    systemctl restart snmpd
    systemctl enable snmpd
    
    • 设置阿里云UDP安全组规则

    • 测试

    snmpwalk -v 2c -c public 47.107.78.89:8661  
    
    • 创建监控主机

    • 添加SNMP服务监控模板

    • 查看服务监测正常

    • 查看SNMP的监控结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值