OS: centos7.5 software: zabbix 4.0 LTS DBSever: MariaDB-10.2.15
一、下载二进制包, 官网的下载路径: wget http://mirrors.neusoft.edu.cn/mariadb//mariadb-10.2.15/bintar-linux-x86_64/mariadb-10.2.15-linux-x86_64.tar.gz 二、添加组和用户 [root@node2 ~]# groupadd -r -g 306 mysql [root@node2 ~]# useradd -g mysql -u 306 -r mysql 三、解压mariadb二进制包到/usr/local下去 [root@node2 ~]# tar xf mariadb-10.2.15-linux-x86_64.tar.gz -C /usr/local/ 四、进入到/usr/local下面建立mysql的软链接 [root@node2 ~]# cd /usr/local/ [root@node2 /usr/local]# ln -s mariadb-10.2.15-linux-x86_64/ mysql 五、修改mysql的相对应的属主和属组权限 [root@node2 /usr/local]# chown -R root.mysql mysql/ 六、建立数据文件的存放路径,并修改所属组的权限为mysql [root@node2 ~]# cd /app/ [root@node2 /app]# mkdir mydata [root@node2 ]# chown -R mysql.mysql /app 七、初始化数据库,指定好数据文件的存放路径和用户 [root@node2 ]# cd /usr/local/mysql/ [root@node2 /usr/local/mysql/]# scripts/mysql_install_db --datadir=/app/mydata --user=mysql 八、拷贝mariadb的启动脚本到/etc/rc.d/init.d下命名为mysqld [root@node2 /usr/local/mysql/]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld 九、把mysqld设置为开机启动 [root@node2 /usr/local/mysql/]# chkconfig --add mysqld 十、建立mariadb的配置文件存放路径,并拷贝模版文件到这个目录下命名为my.cnf [root@node2 /usr/local/mysql/]# mkdir /etc/mysql [root@node2 /usr/local/mysql/]#cp support-files/my-large.cnf /etc/mysql/my.cnf 十一、配置系统环境变量,重读配置文件让它生效 [root@node2 /usr/local/mysql/]# vim /etc/profile.d/mysql.sh [root@node2 /usr/local/mysql/]#export PATH=/usr/local/mysql/bin:$PATH [root@node2 /usr/local/mysql/]# . /etc/profile.d/mysql.sh 十二、修改mariadb的配置文件须要增长几条内容 [root@node2 /usr/local/mysql/]# vim /etc/mysql/my.cnf lower_case_table_names = 1 character-set-server = utf8 datadir = /app/mydata innodb_file_per_table = on skip_name_resolve = o 1三、启动数据库服务 [root@node2 /usr/local/mysql/]# service mysqld start 1四、查看mariadb的服务端口是否正常监听 [root@node2 /app]#ss -tnl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:52874 *:* LISTEN 0 128 *:11211 *:* LISTEN 0 128 *:111 *:* LISTEN 0 128 *:22 *:* LISTEN 0 128 127.0.0.1:631 *:* LISTEN 0 100 127.0.0.1:25 *:* LISTEN 0 80 :::3306 :::* 1五、数据库的安全初始操做,设置完以后就能够先建立zabbix相关的库和用户 [root@node2 /app]#mysql_secure_installation [root@node2 /app]#mysql -uroot -p 1六、建立zabbix库 MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; 1七、给zabbix库受权并指定用户 MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'192.168.137.%' identified by '123456'; 1八、在另外一台主机上测试用zabbix用是否能正常登录数据库 [root@node7 ~]#mysql -uzabbix -p123456 -h192.168.137.54 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 12 Server version: 10.2.15-MariaDB-log MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | zabbix | +--------------------+ 2 rows in set (0.00 sec) MariaDB [(none)]> 1九、在zabbix server主机上导入zabbix自带的三个表,路径在/root/zabbix-4.0.1/database/mysql下后缀为.sql的三个文件 [root@node6 ~/zabbix-4.0.1]#ls -l database/mysql/ total 5816 -rw-r--r-- 1 1001 1001 3795433 Oct 30 01:36 data.sql -rw-r--r-- 1 1001 1001 1978341 Oct 30 01:36 images.sql -rw-r--r-- 1 root root 15323 Nov 26 22:44 Makefile -rw-r--r-- 1 1001 1001 392 Oct 30 01:36 Makefile.am -rw-r--r-- 1 1001 1001 15711 Oct 30 01:36 Makefile.in -rw-r--r-- 1 1001 1001 140265 Oct 30 01:36 schema.sql 20、导入sql文件是有前后顺序的,先导schema.sql、images.sql、data.sql. [root@node6 ~/zabbix-4.0.1/database/mysql]#mysql -uzabbix -h192.168.137.54 -p123456 zabbix < schema.sql [root@node6 ~/zabbix-4.0.1/database/mysql]#mysql -uzabbix -h192.168.137.54 -p123456 zabbix < images.sql [root@node6 ~/zabbix-4.0.1/database/mysql]#mysql -uzabbix -h192.168.137.54 -p123456 zabbix < data.sql 2一、进到数据库里面查看zabbix库是否导入成功 [root@node6 ~/zabbix-4.0.1/database/mysql]#mysql -uzabbix -h192.168.137.54 -p123456 MariaDB [(none)]> use zabbix MariaDB [zabbix]> show tables; +----------------------------+ | Tables_in_zabbix | +----------------------------+ | acknowledges | | actions | | alerts | | application_discovery | | application_prototype | | application_template | | applications | | auditlog | | auditlog_details | | autoreg_host | | conditions | | config | | corr_condition | | corr_condition_group | ....... | users | | users_groups | | usrgrp | | valuemaps | | widget | | widget_field | +----------------------------+ 144 rows in set (0.00 sec)
一、安装编译环境所须要的依赖包组 [root@node6 ~]#yum install gcc libxml2-devel libevent-devel net-snmp net-snmp-devel curl curl-devel php php-bcmath php-mbstring mariadb mariadb-devel –y 还须要安装一些php的依赖包后续在网页端安装zabbix时须要用到因此先提早安装好 [root@node6 ~]#yum install php-gettext php-session php-ctype php-xmlreader php-xmlwrer php-xml php-net-socket php-gd php-mysql -y 二、安装jdk环境,装的是jdk-8u191-linux-x64.rpm的包,要不后面编译时会报Java找不到。 [root@node6 ~]#yum -y install jdk-8u191-linux-x64.rpm 三、建立zabbix用户 [root@node6 ~]#useradd zabbix -s /sbin/nologin 四、下载zabbix的源码包 [root@node6 ~]#wget http://192.168.137.53/yum/zabbix/zabbix-4.0.1.tar.gz 五、解压源码包,并进入到解压后的目录里去 [root@node6 ~]#tar xf zabbix-4.0.1.tar.gz [root@node6 ~]#cd zabbix-4.0.1/ [root@node6 ~/zabbix-4.0.1]# 六、开始编译安装zabbix [root@node6 ~/zabbix-4.0.1./configure \ --prefix=/usr/local/zabbix \ --enable-server \ --enable-agent \ --with-mysql \ --with-net-snmp \ --with-libcurl \ --with-libxml2 \ --enable-java 七、执行make install [root@node6 ~/zabbix-4.0.1]#make -j 2 && make install 八、拷贝启动脚本文件到/etc/init.d目录下 [root@node6 ~/zabbix-4.0.1]#cp misc/init.d/fedora/core/* /etc/init.d/ 九、拷贝过去的脚本须要修改下目录路径,server和agent都须要改 [root@node6 ~/zabbix-4.0.1]#vim /etc/init.d/zabbix_server 22 BASEDIR=/usr/local 改为: 22 BASEDIR=/usr/local/zabbix agent启动脚本修改也是同样 [root@node6 ~/zabbix-4.0.1vim /etc/init.d/zabbix_agentd 22 BASEDIR=/usr/local 改为: 22 BASEDIR=/usr/local/zabbix 十、建立zabbix的日志存放路径和修改/usr/local/zabbix的所属主为zabbix [root@node6 ~/zabbix-4.0.1]#mkdir /var/log/zabbix [root@node6 ~/zabbix-4.0.1]#chown -R zabbix.zabbix /var/log/zabbix [root@node6 ~/zabbix-4.0.1]#ll /var/log/zabbix/ -d drwxr-xr-x 2 zabbix zabbix 6 Nov 27 09:17 /var/log/zabbix/ [root@node6 ~]#chown -R zabbix.zabbix /usr/local/zabbix/ [root@node6 ~]#ll -d /usr/local/zabbix/ drwxr-xr-x 7 zabbix zabbix 64 Nov 26 22:45 /usr/local/zabbix/ 十一、修改配置文件 [root@node6 ~/zabbix-4.0.1]#vim /usr/local/zabbix/etc/zabbix_server.conf ListenPort=10051 启用监听端口,不过默认也是启用的。 LogFile=/var/log/zabbix/zabbix_server.log 修改日志存放路径,默认是在/tmp下 LogFileSize=5 开启日志滚动,单位为MB、达到指定值以后就生成新的日志文件。 DebugLevel=4 日志级别等级,4为debug,利于排除错误,排错以后能够改为3级别的。 PidFile=/usr/local/zabbix/zabbix_server.pid zabbix pid文件路径默认为tmp下须要改为安装目录,而且安装目录的所属组要改为zabbix用户 # SocketDir=/tmp User=zabbix 启动的用户默认也是zabbix,若是要改为root的话 还须要修改一项 # AllowRoot=0 须要改为1才能使用root来启动,默认0的话是被禁止用root启动,不过最好别用root SocketDir=/usr/local/zabbix socket 文件存放路径默认在/tmp下 DBHost=192.168.137.54 数据库地址必需要填 DBName=zabbix 数据库名称 DBUser=zabbix 数据库链接用户 DBPassword=123456 数据库链接密码,建议在生产中密码不要太简单了。 DBPort=3306 数据库端口,其实也不用开默认就是3306 十二、启动zabbix、并查看端口是否正常监听 [root@node6 ~/zabbix-4.0.1]#service zabbix_server start Reloading systemd: [ OK ] Starting zabbix_server (via systemctl): [ OK ] [root@node6 ~/zabbix-4.0.1]#ss -tnl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:10051 *:* LISTEN 0 128 *:111 *:* LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* 1三、装前端展现端 [root@node6 ~/zabbix-4.0.1]#yum -y install httpd 1四、在httpd的默认工做目录下建立一个zabbix目录 [root@node6 ~/zabbix-4.0.1]#mkdir /var/www/html/zabbix 1五、从zabbix解压包里面把php的全部文件拷贝到/var/www/html/zabbix目录下 [root@node6 ~/zabbix-4.0.1]#cp -a frontends/php/* /var/www/html/zabbix/ 1六、启动httpd、查看端口是否正常监听 [root@node6 ~]#systemctl start httpd [root@node6 ~]#ss -tnl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:10051 *:* LISTEN 0 128 *:111 *:* LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* LISTEN 0 128 :::111 :::* LISTEN 0 128 :::80 :::* 1七、经过网页来安装zabbix
[root@node6 ~]#vim /etc/php.ini post_max_size = 16M max_execution_time = 300 max_input_time = 300 date.timezone = Asia/Shanghai 重启httpd服务 [root@node6 ~]#systemctl restart httpd
1八、修改agent配置文档 [root@node6 ~]#vim /usr/local/zabbix/etc/zabbix_agentd.conf LogFile=/var/log/zabbix/zabbix_agentd.log Server=127.0.0.1 被动模式下的server地址、这里agent和server都在同一台上面 默认用127.0.0.1就行 ListenPort=10050 agent的监听地址为10050 StartAgents=1 开启多少个线程来采集数据,不过agent端的话默认就行,若是是server端那就要开大点 ServerActive=127.0.0.1 主动模式下的server地址 Hostname=Zabbix server 这块须要注意要跟主机上的hostname一致,并且在网页上添加监控主机时也须要添加这个要否则是找不到主机 Timeout=30 数据采集时的超时时长默认为3,须要改为最大值30 UnsafeUserParameters=1 容许作一些特殊符号的计算 # UserParameter= 自定义监控项参数时用到 1九、启动zabbix server 端的agent,后续就能够采集到数据 [root@node6 ~]#service zabbix_agentd start Starting zabbix_agentd (via systemctl): [ OK ] [root@node6 ~]#ss -tnl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:10050 *:* LISTEN 0 128 *:10051 *:* LISTEN 0 128 *:111 *:* LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* LISTEN 0 128 :::111 :::* LISTEN 0 128 :::80 :::* LISTEN 0 128 :::22 :::* LISTEN 0 100 ::1:25 :::* 20、把zabbix_server、zabbix_agent、httpd设为开机启动 [root@node6 ~]#chkconfig zabbix_agentd on [root@node6 ~]#chkconfig zabbix_server on [root@node6 ~]#systemctl enable httpd