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

来源:互联网 发布:济南学霸网络授课 编辑:程序博客网 时间:2024/06/06 06:31

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

zabbix 由2部分组成:

  • zabbix server
  • zabbix 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 -yyum install httpd mariadb*yum install -y php-mysql.x86_64  

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

数据库配置

systemctl start mariadb.servicemysql -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%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gztar -zxvf zabbix-2.4.5.tar.gzcd 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_configmakemake 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 zabbixzabbix-agent    10050/tcp               # Zabbix Agent      //客户端zabbix-agent    10050/udp               # Zabbix Agentzabbix-trapper  10051/tcp               # Zabbix Trapper    //服务端zabbix-trapper  10051/udp               # Zabbix Trapper

配置文件

mkdir -p /etc/zabbixcp -r /root/zabbix-2.4.5/conf/* /etc/zabbix/chown -R zabbix:zabbix /etc/zabbixln -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           ##进程PID21:LogFile=/tmp/zabbix_agentd.log           ##日志保存位置59:EnableRemoteCommands=1                   ##允许执行远程命令81:Server=127.0.0.1                         ##agent端的ip122:ServerActive=127.0.0.1133: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 = 300394:max_input_time = 300405:memory_limit = 128M800:upload_max_filesize = 2M878:date.timezone = Asia/Shanghai672:post_max_size = 28M

配置 web

cd /root/zabbix-2.4.5cp -r frontends/php /var/www/html/zabbixvi /etc/httpd/conf/httpd.conf
163:<IfModule dir_module>164:     DirectoryIndex index.html index.php165:</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_servercp misc/init.d/fedora/core5/zabbix_server /etc/rc.d/init.d/zabbix_agentdchmod u+x /etc/rc.d/init.d/zabbix_serverchmod u+x /etc/rc.d/init.d/zabbix_agentdchkconfig zabbix_server on chkconfig zabbix_agentd on

添加zabbix用户

groupadd -g 130 zabbixuseradd -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.rpmrpm -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 startsystemctl 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]"
1 0