zabbix源码安装

一、实验环境准备

Rhel 7.6 x86_64(server)192.168.163.72

Rhel 6.5 x86_64(agent)192.168.163.61

均已配置操作安装光盘为YUM源

安装包准备如下图:

二、实验内容

源码安装zabbix,以及相关的nginx、PHP、mysql

添加zabbix服务器自身到监控里

添加一台agent客户端

三、前期准备

(1) 关闭selinux及防火墙

#sed -ri '/^SELINUX=*/cSELINUX=disabled' /etc/selinux/config

#setenforce 0

#systemctl stop firewalld.service && systemctl disable firewalld.service


(2) 安装目录准备


#mkdir -pv /mnt/hg/{mysql-5.7.26,nginx-1.16.0,php-7.2.17,zabbix-4.2.1}

#mkdir -pv /mnt/hg/mysql-5.7.26/data

#ln -s /mnt/hg/mysql-5.7.26 /mnt/hg/mysql-last

#ln -s /mnt/hg/nginx-1.16.0 /mnt/hg/nginx-last

#ln -s /mnt/hg/php-7.2.17 /mnt/hg/php-last

#ln -s /mnt/hg/zabbix-4.2.1 /mnt/hg/zabbix-last

创建软链接的目的是方便日后升级维护使用

(3) 创建普通用户

#useradd -s /sbin/nologin mysql

#useradd -s /sbin/nologin nginx

#useradd -s /sbin/nologin zabbix

四、安装并配置mysql

(1) 解压mysql-5.7.26.tar.gz与boost_1_59_0.tar.gz

#tar -xvf mysql-5.7.26.tar.gz

#tar -xvf boost_1_59_0.tar.gz -C /mnt/hg/

(2) 安装依赖包

#yum install -y cmake gcc gcc-c++ openssl-devel ncurses-devel

(3) 编译安装

#cd mysql-5.7.26

#cmake  \

-DCMAKE_INSTALL_PREFIX=/mnt/hg/mysql-5.7.26  \

-DMYSQL_DATADIR=/mnt/hg/mysql/data  \

-DDEFAULT_CHARSET=utf8  \

-DDEFAULT_COLLATION=utf8_unicode_ci  \

-DWITH_READLINE=1  \

-DWITH_SSL=system  \

-DWITH_EMBEDDED_SERVER=1  \

-DENABLED_LOCAL_INFILE=1  \

-DDEFAULT_COLLATION=utf8_general_ci  \

-DWITH_MYISAM_STORAGE_ENGINE=1  \

-DWITH_INNOBASE_STORAGE_ENGINE=1  \

-DWITH_DEBUG=0 \

-DWITH_BOOST=/mnt/hg/boost_1_59_0

#make -j4 && make install

(4) 创建所需要的文件及文件夹

#mkdir -pv /mnt/hg/mysql-last/log

#touch /mnt/hg/mysql-last/log/mariadb.log

#touch /mnt/hg/mysql-last/log/mariadb.pid

(5) 更改mysql-5.7.26文件夹的拥有者和拥有组

#cd /mnt/hg && chown mysql:mysql -R mysql-5.7.26

(6) mysql初始化操作

① 编辑/etc/my.cnf,跳过mysql登录认证

vim /etc/my.cnf

[mysqld]

datadir=/mnt/hg/mysql-last/data#数据存储的地方

socket=/mnt/hg/mysql-last/mysql.sock#sock文件的路径

skip-grant-tables#跳过登录认证

user=mysql

explicit_defaults_for_timestamp=true

[mysqld_safe]

log-error=/mnt/hg/mysql-last/log/mariadb.log#错误日志存放的地方

pid-file=/mnt/hg/mysql-last/log/mariadb.pid


② 添加mysql命令至PATH变量中

vim /etc/profile

####mysql path

export PATH=$PATH:/mnt/hg/mysql-last/support-files

export PATH=$PATH:/mnt/hg/mysql-last/bin

重新加载环境变量

#source /etc/profile


③ 初始化及启动mysql

#mysqld --initialize --user=mysql --basedir=/mnt/hg/mysql-last --datadir=/mnt/hg/mysql-last/data

#mysql.server start

#ln -s /mnt/hg/mysql-last/mysql.sock /tmp/

④ 导入zabbix初始库

#tar -xvf zabbix-4.2.1.tar.gz

#cd zabbix-4.2.1/database/mysql/

#mysql -u root -p

在mysql里执行:

>use mysql;

>create database zabbix default character set utf8;

>update user set authentication_string = password('hg'), password_expired = 'N', password_last_changed = now() where user = 'root';

>use zabbix;

>source schema.sql;

>source images.sql;

>source data.sql;

>quit;

⑤ 恢复需要密码登录mysql

vim /etc/my.cnf

去掉skip-grant-tables


重新启动mysql

#mysql.server restart

添加lib文件

#echo "/mnt/hg/mysql-last/lib" > /etc/ld.so.conf.d/mysql.conf

#ldconfig -v


五、安装并配置nginx

(1) 解压nginx-1.16.0.tar.gz

#tar -xvf nginx-1.16.0.tar.gz && cd nginx-1.16.0/

(2) 编译安装

#./configure --prefix=/mnt/hg/nginx-1.16.0 --user=nginx --group=nginx --without-select_module --without-poll_module --with-http_ssl_module --with-pcre --with-debug

#make -j4

#make install

(3) 添加nginx命令至PATH变量中

vim /etc/profile

####nginx path

export PATH=$PATH://mnt/hg/nginx-last/sbin

重新加载环境变量

#source /etc/profile

(4) 更改nginx-1.16.0文件夹的拥有者和拥有组

#cd /mnt/hg/

#chown nginx:nginx -R nginx-1.16.0

(5) 修改nginx.conf配置文件

vim /mnt/hg/nginx-last/conf/nginx.conf

user nginx;  ####暂时仅修改启动用户即可

(6) 启动nginx

#nginx

六、安装并配置php

(1) 解压php-7.2.17.tar.gz

#tar -xvf php-7.2.17.tar.gz && cd php-7.2.17


(2) 安装依赖包

#yum install -y libxml2-devel openssl-devel net-snmp net-snmp-devel libcurl-devel libjpeg-devel libpng-devel libicu-devel openldap-devel bzip2 bzip2-devel freetype-devel gmp-devel readline-devel libxslt-devel fontconfig

#make -j4

#make install

(3) 更改php-7.2.17文件夹的拥有者和拥有组

#cd /mnt/hg

#chown nginx:nginx -R php-7.2.17

(4) 拷贝服务和配置文件

#cd ~/zabbix/php-7.2.17

#cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/

#cp /mnt/hg/php-7.2.17/etc/{php-fpm.conf.default,php-fpm.conf}

#cp /mnt/hg/php-7.2.17/etc/php-fpm.d/www.conf{.default,}

#cp php.ini-production /mnt/hg/php-7.2.17/lib/php.ini

(5) 修改php.ini配置文件

vim /mnt/hg/php-last/lib/php.ini

post_max_size = 16M

max_execution_time = 300

max_input_time = 300

date.timezone = PRC

(6) 启动PHP

#systemctl start php-fpm.service && systemctl enable php-fpm.service

(7) 编辑nginx.conf配置文件,使nginx支持PHP

vim /mnt/hg/nginx-last/conf/nginx.conf

location ~ "\.php$" {

root    /mnt/hg/nginx-last/html/;

    fastcgi_pass 127.0.0.1:9000;

    fastcgi_index index.php;

    fastcgi_param SCRIPT_FILENAME /mnt/hg/nginx-last/html$fastcgi_script_name;

    include fastcgi_params;

}

(8) 测试PHP效果

① 编写测试页面

vim /mnt/hg/nginx-last/html/index.php

<?php

        phpinfo();

?>

② 重新加载nginx配置,测试index.php页面

#nginx -s reload


七、安装并配置zabbix

(1) 安装依赖包

#yum localinstall -y libevent-devel-2.0.21-4.el7.x86_64.rpm

(2) 编译安装

#cd zabbix-4.2.1

#./configure --prefix=/mnt/hg/zabbix-4.2.1 --enable-server --enable-agent --with-mysql=/mnt/hg/mysql-last/bin/mysql_config --enable-ipv6 --with-netsnmp --with-libcurl --with-libxml2

#make -j4

#make install

(3) 添加zabbix命令至PATH变量中

vim /etc/profile

####zabbix path

export PATH=$PATH://mnt/hg/zabbix-last/sbin


(4) 修改zabbix_server.conf配置文件

vim /mnt/hg/zabbix-last/etc/zabbix_server.conf

DBUser=root

DBPassword=hg

(5) 拷贝zabbix页面至nginx,使nginx加载zabbix页面

#cp -R frontends/php/* /mnt/hg/nginx-last/html/

(6) 重新加载nginx配置,并访问index.php

#nginx -s reload

(7) 初始化zabbix


默认账号admin,默认密码zabbix


(8) 添加第一台服务器监控(即监控zabbix server自身)

① 启动zabbix服务端

#zabbix_server

② 启动zabbix客户端

#zabbix_agentd

③ 添加第一台服务器

(9) 添加第二胎服务器监控

① 安装客户端

#tar -xvf zabbix-4.2.1.tar.gz

#mkdir /mnt/hg && cd zabbix-4.2.1

#./configure --prefix=/mnt/hg/zabbix-4.2.1 --enable-agent

#make && make install

#ln -s /mnt/hg/zabbix-4.2.1/ /mnt/hg/zabbix-last

② 修改配置文件

Vim /mnt/hg/zabbix-last/etc/zabbix_agentd.conf

Server=192.168.163.72

ServerActive=192.168.163.72

Hostname=hg62

③ 启动zabbix客户端

#/mnt/hg/zabbix-last/sbin/zabbix_agentd

④ 添加新的host主机监控


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容