运维基础——Zabbix入门及安装

    xiaoxiao2021-04-17  43

    zabbix是一个基于web界面的、提供分布式系统监视及网络监视功能的企业级开源解决方案

    zabbix 由2部分组成:

    zabbix serverzabbix agent

    zabbix server可以通过SNMP、zabbix agent、ping、端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在多个操作系统上。

    试验环境

    centos 7

    服务端安装(编译安装方式)(自身也安装客户端)

    LAMP环境

    yum install php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel net-snmp net-snmp-devel perl-DBI -y yum install httpd mariadb* yum install -y php-mysql.x86_64

    zabbix需要php-mysql.x86_64,否则会出现php databases support off

    数据库配置

    systemctl start mariadb.service mysql -u root -p > create database zabbix character set utf8; > insert into mysql.user(Host,User,Password)values('localhost','zabbix',password('zabbix')); > flush privileges; > grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'zabbix' with grant option; > flush privileges; > quit;

    安装zabbix

    wget http://nchc.dl.sourceforge.net/project/zabbix/ZABBIX Latest Stable/2.4.5/zabbix-2.4.5.tar.gz tar -zxvf zabbix-2.4.5.tar.gz cd zabbix-2.4.5 ./configure --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --prefix=/usr/local/zabbix 参数说明: --prefix----> 指定zabbix安装目录 --enable-java java jvm监控支持 --enable-server----> 支持zabbix服务器 --enable-agent----> 支持zabbix代理 --enable-proxy----> 支持zabbix代理服务器 --with-libcurl----> 使用curl包 --with-net-snmp----> 使用net-snmp软件包,选择性地指定路径NET-SNMP配置 --with-mysql=/usr/bin/mysql_config 使用MySQL客户端库可以选择指定路径mysql_config make make install

    注:如出现configure: error: MySQL library not found错误,是因为缺少mariadb-devel该软件包,解决方法是:

    yum install mariadb-devel mysql -u root -p MariaDB [(none)]> use zabbix; MariaDB [zabbix]> source /root/zabbix-2.4.5/database/mysql/schema.sql MariaDB [zabbix]> source /root/zabbix-2.4.5/database/mysql/data.sql MariaDB [zabbix]> source /root/zabbix-2.4.5/database/mysql/images.sql MariaDB [zabbix]> quit

    端口设置(可选)

    cat /etc/services |grep zabbix zabbix-agent 10050/tcp # Zabbix Agent //客户端 zabbix-agent 10050/udp # Zabbix Agent zabbix-trapper 10051/tcp # Zabbix Trapper //服务端 zabbix-trapper 10051/udp # Zabbix Trapper

    配置文件

    mkdir -p /etc/zabbix cp -r /root/zabbix-2.4.5/conf/* /etc/zabbix/ chown -R zabbix:zabbix /etc/zabbix ln -s /usr/local/zabbix/etc /etc/zabbix/ ln -s /usr/local/zabbix/bin/* /usr/bin/ ln -s /usr/local/zabbix/sbin/* /usr/sbin/ vi /etc/zabbix/zabbix_server.conf 30:LogFile=/tmp/zabbix_server.log ##日志文件地址 68:DBHost=localhost ##数据库主机 78:DBName=zabbix ##数据库名 94:DBUser=zabbix ##数据库用户名 102:DBPassword=zabbix ##数据库密码 282:ListenIP=127.0.0.1 ##数据库IP地址 425:AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts##zabbix 运行脚本存放目录

    查看修改一的结果

    cat /etc/zabbix/zabbix_server.conf | grep -n ^[^#] vi /etc/zabbix/zabbix_agentd.conf 11:PidFile=/tmp/zabbix_agentd.pid ##进程PID 21:LogFile=/tmp/zabbix_agentd.log ##日志保存位置 59:EnableRemoteCommands=1 ##允许执行远程命令 81:Server=127.0.0.1 ##agent端的ip 122:ServerActive=127.0.0.1 133:Hostname=Zabbix server ##必须与zabbix创建的hostname相同 252:Include=/usr/local/etc/zabbix_agentd.conf.d/ 265:UnsafeUserParameters=1 ##启动自定义key

    配置php.ini

    vi /etc/php.ini 384:max_execution_time = 300 394:max_input_time = 300 405:memory_limit = 128M 800:upload_max_filesize = 2M 878:date.timezone = Asia/Shanghai 672:post_max_size = 28M

    配置 web

    cd /root/zabbix-2.4.5 cp -r frontends/php /var/www/html/zabbix vi /etc/httpd/conf/httpd.conf 163:<IfModule dir_module> 164: DirectoryIndex index.html index.php 165:</IfModule>

    关闭SELinux

    setenforce 0 ##设置SELinux 成为permissive模式 (关闭SELinux) setenforce 1 ##设置SELinux 成为enforcing模式 (开启SELinux)

    vi /etc/selinux/config 将SELINUX=enforcing 改为SELINUX=disabled 需重启机器

    防火墙

    /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 写入修改

    安装 web

    systemctl start httpd.service

    浏览: http://ip/zabbix/setup.php 按提示操作操作。 当提示: 点击Download configuration file,放到指定的位置: /var/www/html/zabbix/conf/zabbix.conf.php 点Retry。

    安装完后,默认账号admin,密码zabbix。

    添加开机启动脚本

    cd zabbix-2.4.5/ cp misc/init.d/fedora/core5/zabbix_server /etc/rc.d/init.d/zabbix_server cp misc/init.d/fedora/core5/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd chmod u+x /etc/rc.d/init.d/zabbix_server chmod u+x /etc/rc.d/init.d/zabbix_agentd chkconfig zabbix_server on chkconfig zabbix_agentd on

    添加zabbix用户

    groupadd -g 130 zabbix useradd -u 130 -g zabbix -c 'Zabbix monitoring' zabbix

    启动zabbix server

    /usr/local/zabbix/sbin/zabbix_server start 重启 service zabbix-server restart

    启动zabbix agent

    /usr/local/zabbix/sbin/zabbix_agentd start

    zabbx3的一些命令

    zabbix_agentd -p | grep uptime #列出items #查看是否启动成功 netstat -nltp | grep zabbix #启动 zabbix_agentd start

    客户端安装zabbix_agentd

    groupadd -g 1001 zabbix useradd -u 1001 -g 1001 -s /sbin/nologin -M zabbix wget http://mirrors.aliyun.com/zabbix/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.6-1.el7.x86_64.rpm rpm -ivh zabbix-agent-3.2.6-1.el7.x86_64.rpm yum install zabbix-agent # 配置 vi /etc/zabbix/zabbix_agentd.conf # 修改 Server= ServerActive= Hostname= # 在服务端添加相应Hostname #启动 service zabbix-agent start systemctl enable zabbix-agent 开机启动

    防火墙设置: 服务端的10050 10051对客户端开放 客户端10050对服务端开放 示例:

    -A INPUT -m state --state NEW --src 服务端ip -m udp -p udp --dport 10050 -j ACCEPT -A INPUT -m state --state NEW --src 服务端ip -m tcp -p tcp --dport 10050 -j ACCEPT

    如果启用了阿里云安全组,需要设置在安全组设置里添加端口。 在服务器端检测客户端是否连通:

    /usr/bin/zabbix_get -s 客户端IP -p10050 -k"net.if.in[eth0,bytes]"

    其它问题处理

    zabbix的log位置在conf文件里有记录,如果有错误可以查看log。 如果log提示:

    zabbix_agentd [2693]: cannot create PID file [/var/run/zabbix/zabbix_agentd.pid]: [2] No such file or directory

    可以使用命令:

    cd /var/run mkdir zabbix sudo chown zabbix zabbix/
    转载请注明原文地址: https://ju.6miu.com/read-673662.html

    最新回复(0)