Zabbix 5 4 and 3 LTS安装入门教程
目录
zabbix server
pre
这些是官网官方安装文档,记得一定要看
https://www.zabbix.com/documentation/3.0/manual/installation/install
https://www.zabbix.org/wiki/InstallOnCentOS_RHEL
wget -c https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.8/zabbix-3.0.8.tar.gz wget -c http://tenet.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.13/zabbix-2.2.13.tar.gz
#配置php变量
vi /etc/php.ini date.timezone = Asia/Shanghai post_max_size = 32M max_execution_time = 300 max_input_time = 300 注:更改完之后需要重启nginx和php
#安装zabbix所需的组件
yum -y install net-snmp-devel curl-devel #yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI php-gd php-xml php-bcmath groupadd zabbix && useradd -g zabbix zabbix tar xvf zabbix-3.0.8.tar.gz && cd zabbix-3.0.8 #tar xvf zabbix-2.2.13.tar.gz && cd zabbix-2.2.13 #./configure –enable-server –enable-agent –with-mysql –enable-ipv6 –with-net-snmp –with-libcurl –with-libxml2 ##或者默认安装路径 make是不用的 ./configure --sysconfdir=/etc/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2 && make install
添加zabbix服务对应的端口(可以省略,但是官方建议有)
cat >>/etc/services<< EOF zabbix-agent 10050/tcp #Zabbix Agent zabbix-agent 10050/udp #Zabbix Agent zabbix-trapper 10051/tcp #Zabbix Trapper zabbix-trapper 10051/udp #Zabbix Trapper EOF
配置文件
##好像是这个起效果的呢 –sysconfdir=/etc/zabbix 有这个,不用下面的命令了 #vim /usr/local/etc/zabbix_server.conf #cd zabbix-2.0.7 #mkdir /etc/zabbix #cp conf/*.conf /etc/zabbix mkdir /var/log/zabbix ;chown zabbix:zabbix /var/log/zabbix; #zabbix web代码 mkdir -p /data/www/zabbix; cp -r frontends/php/* /data/www/zabbix 修改zabbix连接的数据库的用户名和密码 vi /etc/zabbix/zabbix_server.conf DBHost=127.0.0.1 DBName=zabbix DBUser=zabbix DBPassword='123' DBPort=3306 #如果数据库是用sock文件的方式,这里可以是sock文件的路径 添加数据库Lib文件位置到/etc/ld.so.conf中,并使其生效 echo ‘/usr/local/mysql/lib/mysql/’ >> /etc/ld.so.conf ldconfig 为zabbix的启动、关闭和重启的脚本文件做链接,方便系统可以找得到 给zabbix服务端程序做软链接 我用默认的config 应该是不用的 cd /usr/local/zabbix/bin/ for i in *;do ln -s /usr/local/zabbix/bin/${i} /usr/bin/${i};done cd /usr/local/zabbix/sbin/ for i in *;do ln -s /usr/local/zabbix/sbin/${i} /usr/sbin/${i};done 拷贝zabbix服务端和客户端启动脚本到/etc/init.d目录下. cd misc/init.d/ cp fedora/core/zabbix_server /etc/init.d/ cp fedora/core/zabbix_agentd /etc/init.d/ chmod +x /etc/init.d/zabbix_agentd chmod +x /etc/init.d/zabbix_server
3 Create Zabbix database
SQL scripts are provided for creating database schema and inserting the dataset #https://www.zabbix.com/documentation/3.0/manual/appendix/install/db_scripts #https://www.zabbix.com/documentation/2.2/manual/appendix/install/db_scripts mysql>create database zabbix character set utf8 collate utf8_bin;;grant all on zabbix.* to zabbix@localhost identified by '123';flush privileges; 将zabbix源码包中的数据导入到新建的zabbix数据库 ##这个和老的版本有点不同 第一个是zabbix的数据库表结构,要先导入。 . /etc/profile cd ../.. mysql -uroot -p'evan' zabbix< database/mysql/schema.sql mysql -uroot -p'evan' zabbix< database/mysql/images.sql mysql -uroot -p'evan' zabbix< database/mysql/data.sql vi /etc/init.d/zabbix_server # 的可以不改,修改一下变量的值 因为我是默认用 configure # base zabbix dir BASEDIR=/usr/local # binary file ZABBIX_SUCKERD=$BASEDIR/sbin/zabbix_server<pre> ===fping的安装和使用详解=== <pre>http://rickie622.blog.163.com/blog/static/2123881120121121111720941/ http://netsecurity.51cto.com/art/201101/242200.htm #当然 下载zip包也是可以的 git clone https://github.com/schweikert/fping.git cd fping ./autogen.sh ./configure make -j2 && make install #修改一下配置文件 vim /etc/zabbix_server.conf #vim /usr/local/etc/zabbix_server.conf FpingLocation=/usr/local/sbin/fping
启动zabbix,并且添加开机自启动
service zabbix_server start service zabbix_agentd start #启动服务 chkconfig zabbix_server on chkconfig zabbix_agentd on #开机自启动 在Nginx服务中添加zabbix虚拟主机 #vim /usr/local/nginx/conf/vhosts/monitor.conf 这些都不要,不然没有web安装向导的 #cd zabbix/conf #cp zabbix.conf.php.example zabbix.conf.php ; #chmod 777 zabbix.conf.php iptables -I INPUT -p tcp –dport 80 -j ACCEPT zabbix server is not running Zabbix Server is not running: the information displayed may not be current http://song49.blog.51cto.com/4480450/1200151
(4)设置zabbix服务IP和端口,name可以忽略
ps: post_max_size = 16M PHP option “max_execution_time” 30 300 Fail PHP option “max_input_time” 60 300 Fail PHP option “date.timezone” unknown Fai date.timezone = Asia/Shanghai PHP option “always_populate_raw_post_data” must be set to “-1” port 10051 Zabbix frontend is ready! The default user name is Admin, password zabbix.
超级用户密码修改
2.2 用户名第一个字母要大写 也就是Admin 默认的用户名:admin 密码:zabbix 哪里改登录用户和密码呢 use zabbix; select userid,alias,passwd from users; #查看 +--------+------------+----------------------------------+ | userid | alias | passwd | +--------+------------+----------------------------------+ | 1 | Admin | 5fce1b3e34b520afeffb37ce08c7cd66 | #如果为zabbix 3.0 直接这样就行了 update users set passwd=MD5('12345') where userid=1; #zabbix 2.x 重新开个终端,生成一个MD5加密的密码,这里密码设置的是redhat [root@localhost ~]# echo -n 12345678 |openssl md5 #-n就表示不输入回车符,不加-n,否则就不是这个结果了。 (stdin)= 25d55ad283aa400af464c76d713c07ad 接着上面的为admin用户设定一个密码 mysql> update users set passwd='25d55ad283aa400af464c76d713c07ad' where userid = '1'; #或者直接使用update users set passwd=md5(“12345678”) where userid=’1′; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) mysql> quit Bye zabbix登陆账户admin密码修改 http://pvbutler.blog.51cto.com/7662323/1734003 yum install ntp ntpdate -y chkconfig ntpd on /etc/init.d/ntpd start */30 * * * * /usr/sbin/ntpdate pool.ntp.org 在29行这后添加 sed -i ’29a user=mysql’ /etc/my.cnf sed -i ’29a character-set-server=utf8′ /etc/my.cnf sed -i ’29ainnodb_file_per_table=1′ /etc/my.cnf 重启mysqld
防火墙设置
这个要看一下先,尽量用严格些的防火墙设置 #on zabbix-agent iptables -A INPUT -s zabbixserverip -p tcp -m tcp --dport 10050 -m comment --comment "zabbix_server listen " -j ACCEPT #iptables -A INPUT -s zabbixserverip -p tcp -m tcp --dport 10050 -m comment --comment "zabbix_agentd listen " -j ACCEPT #这下面的防火墙rule 不要用 vi /etc/sysconfig/iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT -A INPUT -m state –state NEW -m tcp -p tcp –dport 10050 -j ACCEPT -A INPUT -m state –state NEW -m tcp -p tcp –dport 10051 -j ACCEPT /etc/init.d/iptables restart 中文在右上角的用户里面哦 Starting php_fpm /usr/local/php/bin/php-cgi: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory failed by default install the daemon binaries (zabbix_server, zabbix_agentd, zabbix_proxy) in /usr/local/sbin and the client binaries (zabbix_get, zabbix_sender) in /usr/local/bin.
zabbix-get
root@zabbix-server ~]#zabbix_get -s 10.3.10.139 -k "system.hostname" dev-hello-market 不过使用zabbix_get时必须开启客户端被动模式,要求暴露客户端监听端口。
第二 agent
#4.0 #centos7 快速安装和自动配置 2019年 8月23日 星期五 11时45分01秒 CST #国外 rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm #国内 https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm yum install zabbix-agent -y yum install ntp -y timedatectl set-ntp true HOSTNAME=prod-java-02 #config sed -i "s/^Server=127.0.0.1/Server=172.16.1.9/ " /etc/zabbix/zabbix_agentd.conf sed -i "s/^ServerActive=127.0.0.1/ServerActive=172.16.1.9/" /etc/zabbix/zabbix_agentd.conf sed -i "s/^Hostname=Zabbix server/Hostname=test-market/" /etc/zabbix/zabbix_agentd.conf #这个用了HOSTNAME 变量 而上面的要指定hostname sed -i 's/127.0.0.1/23.67.81.95/g' /etc/zabbix/zabbix_agentd.conf sed -i "s/Hostname=Zabbix server/Hostname=${HOSTNAME}/g" /etc/zabbix/zabbix_agentd.conf grep "^\s*[^# \t].*$" /etc/zabbix/zabbix_agentd.conf systemctl enable zabbix-agent.service systemctl restart zabbix-agent 下面是老的信息 和解说 cat /etc/zabbix/zabbix_agentd.conf Hostname=主机名 Server=zabbix server ip LogFile= 可以不改 ##最好这样3个 Server=10.6.1.181 ServerActive=10.6.1.181 Hostname=zabbix-client-1 #rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm #rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm #http://repo.zabbix.com/zabbix/2.0/rhel/5/x86_64/zabbix-release-2.0-1.el5.noarch.rpm rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
agent on debian
#用系统的源 apt-get install zabbix-agent #config 其实和yum的也一样 只是启动不一样而已 HOSTNAME=wiki sed -i "s/^Server=127.0.0.1/Server=207.148.106.229/ " /etc/zabbix/zabbix_agentd.conf sed -i "s/^ServerActive=127.0.0.1/ServerActive=207.148.106.229/" /etc/zabbix/zabbix_agentd.conf sed -i "s/^Hostname=Zabbix server/Hostname=wiki/" /etc/zabbix/zabbix_agentd.conf grep "^\s*[^# \t].*$" /etc/zabbix/zabbix_agentd.conf service zabbix-agent start zabbix_get -s 138.68.59.0 -k "system.hostname" #用zbx的源 https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-3+buster_all.deb dpkg -i zabbix-release_stretch_all.deb # apt-get update
docker zabbix
故障及回顾
问题1. zabbix server 没有打开 10051端口 前端图形没显示 版本zabbix 2.2 没有看到 10051 是因为 DBPassword=‘123’ 改为 DBPassword=123 日志查看 tail /tmp/zabbix_server.log 14659:20170525:171042.257 [Z3001] connection to database 'zabbix' failed: [1045] Access denied for user 'zabbix'@'localhost' (using password: YES) 正确如下 [root@ zabbix]# netstat -nlpt Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:10051
参考
Zabbix监控系统 (3) 之 添加自定义监控项目、配置邮件告警、测试告警
http://blog.linuxchina.net/?p=1711