centos下的zabbix(全部编译)安装搭建

前端之家收集整理的这篇文章主要介绍了centos下的zabbix(全部编译)安装搭建前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Zabbix-3.0.4安装教程

@H_404_6@一.安装环境

@H_404_6@系统: CentOS release 6.8 (Final)

@H_404_6@数据库:MysqL-5.7.15

@H_404_6@Web:Nginx-1.6.3

@H_404_6@PHP: PHP 7.0.11

@H_404_6@ MysqL-5.7.15编译安装

@H_404_6@1.下载解压安装包到指定目录

@H_404_6@Wget

@H_404_6@http://ftp.ntu.edu.tw/pub/MysqL/Downloads/MysqL-5.7/MysqL-5.7.15.tar.gz

@H_404_6@tar -zvxf MysqL-5.7.15.tar.gz -C /usr/local/src(应自己需求调整解压目录)

@H_404_6@2.安装支撑包

yum -y installcmake readline-devel ncurses-devel ncurses vimlibxml2-devel libxml2 bzip2-devellibcurl-devel libjpeg-devel libpng-devel freetype-devel libXpm-devel

3.创建MysqL用户

/usr/sbin/groupadd MysqL

/usr/sbin/useradd -g MysqL MysqL

4.编译安装

cd /usr/local/src/MysqL-5.7.15

Cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/MysqL DMysqL_DATADIR=/usr/local/MysqL/data -DWITH_STORAGE_ENGINE=1 -DMysqL_UBIX_ADDR=/usr/local/MysqL/MysqL.sock -DMysqL_USER=MysqL -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost

make && make install

5.配置启动脚本

cp support-files/MysqL.server /etc/init.d/MysqLd

如果已经安装MysqL,将原MysqL的/etc/my.cnf移除

配置MysqL配置文件

vi /etc/my.cnf

[client]

password = "redhat"

user = "root"

port = 3306

socket = /usr/local/MysqL/MysqL.sock

default-character-set = utf8mb4

[MysqLd]

port = 3306

socket = /usr/local/MysqL/MysqL.sock

basedir = /usr/local/MysqL

datadir = /usr/local/MysqL/data

pid-file = /usr/local/MysqL/data/MysqL.pid

user = MysqL

bind-address = 0.0.0.0

server-id = 1

init-connect = 'SET NAMES utf8mb4'

character-set-server = utf8mb4

#skip-name-resolve

#skip-networking

back_log = 300

max_connections = 1000

max_connect_errors = 6000

open_files_limit = 65535

table_open_cache = 128

max_allowed_packet = 4M

binlog_cache_size = 1M

max_heap_table_size = 8M

tmp_table_size = 16M

read_buffer_size = 2M

read_rnd_buffer_size = 8M

sort_buffer_size = 8M

join_buffer_size = 8M

key_buffer_size = 4M

thread_cache_size = 8

query_cache_type = 1

query_cache_size = 8M

query_cache_limit = 2M

ft_min_word_len = 4

log_bin = MysqL-bin

binlog_format = mixed

expire_logs_days = 30

log_error = /usr/local/MysqL/data/MysqL-error.log

slow_query_log = 1

long_query_time = 1

slow_query_log_file = /usr/local/MysqL/data/MysqL-slow.log

performance_schema = 0

explicit_defaults_for_timestamp

#lower_case_table_names = 1

skip-external-locking

default_storage_engine = InnoDB

#default-storage-engine = MyISAM

innodb_file_per_table = 1

innodb_open_files = 500

innodb_buffer_pool_size = 64M

innodb_write_io_threads = 4

innodb_read_io_threads = 4

innodb_thread_concurrency = 0

innodb_purge_threads = 1

innodb_flush_log_at_trx_commit = 2

innodb_log_buffer_size = 2M

innodb_log_file_size = 32M

innodb_log_files_in_group = 3

innodb_max_dirty_pages_pct = 90

innodb_lock_wait_timeout = 120

bulk_insert_buffer_size = 8M

myisam_sort_buffer_size = 8M

myisam_max_sort_file_size = 10G

myisam_repair_threads = 1

interactive_timeout = 28800

wait_timeout = 28800

[MysqLdump]

quick

max_allowed_packet = 16M

[myisamchk]

key_buffer_size = 8M

sort_buffer_size = 8M

read_buffer = 4M

write_buffer = 4M

6.配置MysqL的环境变量

@H_404_6@在/etc/profile文件尾部加入以下内容

@H_404_6@vi /etc/profile

@H_404_6@#MysqL path

@H_404_6@PATH=/usr/local/MysqL/bin:$PATH

@H_404_6@export PATH

@H_404_6@加入之后让环境变量生效

@H_404_6@source /etc/profile

@H_404_6@7.初始化数据库

@H_404_6@cd /usr/local/MysqL

@H_404_6@./bin/MysqLd --initialize --user=MysqL --datadir=/usr/local/MysqL/data/

@H_404_6@A temporary password is generated for root@localhost:AB7YGWlAa6/r

@H_404_6@记好这个密码,后面会用到

@H_404_6@8.启动数据库

@H_404_6@service MysqLd start

@H_404_6@chkconfig MysqL on (设置开机自启动)

@H_404_6@9.登录数据库更改root密码

@H_404_6@MysqLd -uroot -pAB7YGWlAa6/r

@H_404_6@MysqL> alter user ‘root’@’localhost’identified by ‘redhat’;

@H_404_6@MysqL>create database zabbix default character set utf8;

@H_404_6@MysqL>grant all privileges on zabbix.* to 'zabbix'@'localhost'identified by 'zabbix';

@H_404_6@MysqL>flush privileges;

@H_404_6@MysqL>exit;

Nginx-1.6.3编译安装

@H_404_6@可以选择更高版本的,安装流程基本一致,我因为之前下载过,所以没用最新版的Nginx

@H_404_6@1.下载解压缩Nginx安装包并安装相关依赖包

@H_404_6@wget http://Nginx.org/download/Nginx-1.6.3.tar.gz

@H_404_6@yum install pcre pcre-devel openssl-devel geoip geoip-devel -y

@H_404_6@2.创建Nginx用户

/usr/sbin/groupadd Nginx

/usr/sbin/useradd -g Nginx Nginx

@H_404_6@3.编译安装Nginx

@H_404_6@tar -zvxf Nginx-1.6.3.tar.gz -C /usr/local/src/

@H_404_6@cd /usr/local/src/Nginx-1.6.3/

./configure --user=Nginx --group=Nginx --with-http_stub_status_module --with-http_ssl_module

make && make install

--with-http_stub_status_module 启用status网页(模块能够获取Nginx自上次启动以来的工作状态)

--with-http_ssl_module 支持ssl模块

@H_404_6@make && make install

@H_404_6@4.更改Nginx所属目录权限

@H_404_6@chown Nginx:Nginx -R /usr/local/Nginx

@H_404_6@5.修改配置文件支持PHP

@H_404_6@[root@ceshi2 src]# more /usr/local/Nginx/conf/Nginx.conf

@H_404_6@user Nginx;

@H_404_6@worker_processes 2;

@H_404_6@error_log logs/error.log;

@H_404_6@#error_log logs/error.log notice;

@H_404_6@#error_log logs/error.log info;

@H_404_6@#pid logs/Nginx.pid;

@H_404_6@events {

@H_404_6@worker_connections 1024;

@H_404_6@}

@H_404_6@http {

@H_404_6@include mime.types;

@H_404_6@default_type application/octet-stream;

@H_404_6@client_max_body_size 10m;

@H_404_6@#log_format main '$remote_addr - $remote_user [$time_local] "$request" '

@H_404_6@# '$status $body_bytes_sent "$http_referer" '

@H_404_6@# '"$http_user_agent" "$http_x_forwarded_for"';

@H_404_6@

@H_404_6@access_log logs/access.log ;

@H_404_6@

@H_404_6@sendfile on;

@H_404_6@tcp_nopush on;

@H_404_6@

@H_404_6@#keepalive_timeout 0;

@H_404_6@keepalive_timeout 65;

@H_404_6@

@H_404_6@#gzip on;

@H_404_6@

@H_404_6@server {

@H_404_6@listen 80;

@H_404_6@server_name localhost;

@H_404_6@

@H_404_6@#charset koi8-r;

@H_404_6@#access_log logs/host.access.log main;

@H_404_6@### zabbix zhan dian

@H_404_6@location / {

@H_404_6@root html;

@H_404_6@index index.html index.htm index.PHP;

@H_404_6@}

@H_404_6@

@H_404_6@

@H_404_6@# location / {

@H_404_6@# root /data/www/;

@H_404_6@# index index.PHP index.html index.htm;

@H_404_6@# }

@H_404_6@location ~ \.PHP$ {

@H_404_6@root html;

@H_404_6@fastcgi_pass unix:/var/run/PHP-fpm.sock;

@H_404_6@fastcgi_index index.PHP;

@H_404_6@fastcgi_param SCRIPT_FILENAME

@H_404_6@$document_root$fastcgi_script_name;

@H_404_6@fastcgi_param SCRIPT_FILENAME /usr/local/Nginx/html/$fastcgi_script_name;

@H_404_6@include fastcgi_params;

@H_404_6@}

@H_404_6@

@H_404_6@

@H_404_6@#error_page 404 /404.html;

@H_404_6@

@H_404_6@# redirect server error pages to the static page /50x.html

@H_404_6@#

@H_404_6@error_page 500 502 503 504 /50x.html;

@H_404_6@location = /50x.html {

@H_404_6@root html;

@H_404_6@}

@H_404_6@

@H_404_6@# proxy the PHP scripts to Apache listening on 127.0.0.1:80

@H_404_6@#

@H_404_6@#location ~ \.PHP$ {

@H_404_6@# proxy_pass http://127.0.0.1;

@H_404_6@#}

@H_404_6@

@H_404_6@# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

@H_404_6@#

@H_404_6@# deny access to .htaccess files,if Apache's document root

@H_404_6@# concurs with Nginx's one

@H_404_6@#

@H_404_6@#location ~ /\.ht {

@H_404_6@# deny all;

@H_404_6@#}

@H_404_6@}

@H_404_6@

@H_404_6@

@H_404_6@# another virtual host using mix of IP-,name-,and port-based configuration

@H_404_6@#

@H_404_6@#server {

@H_404_6@# listen 8000;

@H_404_6@# listen somename:8080;

@H_404_6@# server_name somename alias another.alias;

@H_404_6@

@H_404_6@# location / {

@H_404_6@# root html;

@H_404_6@# index index.html index.htm;

@H_404_6@# }

@H_404_6@#}

@H_404_6@# HTTPS server

@H_404_6@#

@H_404_6@#server {

@H_404_6@# listen 443 ssl;

@H_404_6@# server_name localhost;

@H_404_6@# ssl_certificate cert.pem;

@H_404_6@# ssl_certificate_key cert.key;

@H_404_6@

@H_404_6@# ssl_session_cache shared:SSL:1m;

@H_404_6@# ssl_session_timeout 5m;

@H_404_6@# ssl_ciphers HIGH:!aNULL:!MD5;

@H_404_6@# ssl_prefer_server_ciphers on;

@H_404_6@# location / {

@H_404_6@# root html;

@H_404_6@# index index.html index.htm;

@H_404_6@# }

@H_404_6@#}

@H_404_6@}

@H_404_6@6.启动Nginx

@H_404_6@/usr/local/Nginx/sbin/Nginx

@H_404_6@7.设置开机自启动

@H_404_6@在/etc/rc.local中添加

@H_404_6@/usr/local/Nginx/sbin/Nginx

@H_404_6@

PHP-7.0.11编译安装

@H_404_6@1.下载解压缩PHP安装包

@H_404_6@wget http://php.net/downloads.php/php-7.0.11.tar.gz

@H_404_6@tar -zxvf PHP-7.0.11.tar.gz -C /usr/local/src

@H_404_6@2.编译安装

@H_404_6@cd /usr/local/src/PHP-7.0.11/

@H_404_6@./configure --prefix=/usr/local/PHPwith-configfilepathPHP-7.0.11etc MysqLiMysqLbinMysqL_config enablesysvsem sysvshm pcntl mbregex zip pcreregex libxmldir gd jpegpngfreetypeiconvzlibsockets soap gdnativettf ftp mbstring exif disableipv6 debug fpm openssl bz2 curl bcmath gettext xpmdir

@H_404_6@make && make install

@H_404_6@3.准备PHP配置文件

@H_404_6@cp /usr/local/src/PHP-7.0.11/PHP.ini-production /usr/local/PHP/etc/PHP.ini

@H_404_6@cp /usr/local/PHPetc/PHP-fpm.conf.default PHP-fpm.conf

@H_404_6@4.修改配置文件

@H_404_6@更改/usr/local/PHP/etc/PHP.ini 文件内容

@H_404_6@在该文件中找到以下内容并更改

@H_404_6@;date.timezone =改为 date.timezone=Asia/Shanghai

@H_404_6@post_size = 8M改为 post_max_size = 32M

@H_404_6@max_input_time = 60改为 max_input_time = 300

@H_404_6@Max_execution_time = 30 改为 max_execution_time=300

@H_404_6@在/usr/local/PHP/etc/PHP-fpm.conf尾部加入以下内容

@H_404_6@[www]

@H_404_6@user = Nginx

@H_404_6@group = Nginx

@H_404_6@listen = /var/run/PHP-fpm.sock

@H_404_6@pm = dynamic

@H_404_6@listen.owner = Nginx

@H_404_6@listen.group = Nginx

@H_404_6@listen.mode = 0660

@H_404_6@pm.max_children = 5

@H_404_6@pm.start_servers = 2

@H_404_6@pm.min_space_servers = 1

@H_404_6@pm.max_space_servers = 3

@H_404_6@5.启动PHP-fpm组件

@H_404_6@/usr/local/PHP/sbin/PHP-fpm -c /usr/local/PHP-7.0.11/etc/PHP.ini -y /usr/local/PHP/etc/PHP-fpm.conf

@H_404_6@

@H_404_6@6.设置开机自启动

@H_404_6@vi /etc/rc.local

@H_404_6@添加如下内容

@H_404_6@/usr/local/PHP/sbin/PHP-fpm -c /usr/local/PHP/etc/PHP.ini -y /usr/local/PHP/etc/PHP-fpm.conf

@H_404_6@

@H_404_6@

@H_404_6@ 测试lnmp环境的连通性

@H_404_6@看前面的文档我设置的Nginx反代的目录是/usr/local/Nginx/html,所以我的测试文件都放在了这个目录

@H_404_6@cd /usr/local/Nginx/html

@H_404_6@vi wdostest.PHP(名字随便,后面要加.PHP)

@H_404_6@<?PHP

@H_404_6@PHPinfo();

@H_404_6@?>

@H_404_6@使用网页访问自己服务器的ip/wdotest.PHP出现以下界面表示,NginxPHP连接无问题。出现问题,请自己查看是否按文档步骤执行

@H_404_6@

@H_404_6@此处注意检查观察PHP模块是否都安装成功

@H_404_6@接下来测试PHPMysqL的联通性

@H_404_6@还是在前面的目录下

@H_404_6@vi testMysqL.PHP

@H_404_6@<?PHP

@H_404_6@$link = MysqLi_connect(‘localhost’,’root’,’redhat’);

@H_404_6@If (!$link) {

@H_404_6@die (‘Could not connect:’. MysqL_error());

@H_404_6@}

@H_404_6@echo ‘Connected successfully’;

@H_404_6@?>

@H_404_6@使用网页访问自己服务器的ip/testMysqL.PHP出现以下界面表示成功,否则表示MysqLPHP连通失败

@H_404_6@

@H_404_6@如果以上都成功了,证明你已经完成了百分之80。

@H_404_6@

@H_404_6@

@H_404_6@ Zabbix-3.0.4编译安装

@H_404_6@1.下载解压zabbix安装包

@H_404_6@wget http://www.zabbix.com/download.php/zabbix-3.0.4.tar.gz

@H_404_6@链接可能有点问题,实在不行,大家自己去官网下载吧

@H_404_6@2.安装依赖组件及编译安装

@H_404_6@yum y install mbedtlsdevel gnutlsdevel fping sqlite-devel net-snmp-devel libssh2-devel OpenIPMI-devel

@H_404_6@./configure zabbix iconv libcurl openipmi ssh2 netsnmp libxml2 with-MysqLagent server

@H_404_6@make && make install

@H_404_6@注: --with-mbedtls --with-gnutls 这两个编译检查无法通过是因为mbedtls和gnutls这两个组件没有安装找不到编译所需要的组件.我已经yum安装了mbedtls这个组件,编译依然无法通过.这两个是ssl用到的,可以不加到编译过程中

@H_404_6@3.配置zabbix监控

/usr/sbin/groupadd zabbix

/usr/sbin/useradd -g zabbixzabbix

chmod -R 775 /usr/local/zabbix

chown -R zabbix:zabbix /usr/local/zabbix

4.准备启动脚本

cp -a /usr/local/src/zabbix-3.0.4/misc/init.d/fedora/core/* /etc/init.d

chmod +x /etc/init.d/zabbix_agentd

chmod +x /etc/init.d/zabbix_server

复制zabbix的web程序,前面Nginx已经配置了zabbix站点,所以只要拷贝到该路径就可以了.

cp -R /usr/local/src/zabbix-3.0.4/frontends/PHP/*/usr/local/Nginx/html/zabbix/

@H_404_6@5.修改配置文件

@H_404_6@在 /usr/local/zabbix/etc/zabbix_server.conf中增加更改以下内容:

@H_404_6@LogFiletmpzabbix_server.log

@H_404_6@DBHost=localhost

@H_404_6@DBNamezabbix

@H_404_6@DBUser=root

@H_404_6@DBPassword=redhat

@H_404_6@DBSocket=/usr/local/MysqL/MysqL.sock

@H_404_6@DBPort=3306

@H_404_6@

@H_404_6@Timeout5

@H_404_6@AlertScriptsPathzabbixalertscripts

@H_404_6@ExternalScriptsexternalscripts

@H_404_6@LogSlowQueries3000

@H_404_6@在/usr/local/zabbix/etc/zabbix_agentd.conf中加入如下内容

@H_404_6@zabbix_agentdEnableRemoteCommands1

@H_404_6@LogRemoteCommandsServer127.00.1

@H_404_6@ListenIP0.00.0

@H_404_6@ServerActiveHostname=ceshi2#跟主机名一样

@H_404_6@AllowRoot1

@H_404_6@6.导入数据文件

@H_404_6@MysqL> use zabbix;

MysqL> source/usr/local/src/zabbix-3.0.4/database/MysqL/schema.sql

MysqL> source/usr/local/src/zabbix-3.0.4/database/MysqL/images.sql

MysqL> source/usr/local/src/zabbix-3.0.4/database/MysqL/data.sql

MysqL> quit;

7.添加环境变量zabbix

vi /etc/profile

在尾部添加

#zabbix path

PATH=/usr/local/zabbix/sbin:/usr/local/zabbix/bin:$PATH

export PATH

@H_404_6@8.设置开机自启动

vi /etc/profile

加入以下内容

service zabbix_server start

service zabbix_agentd start

@H_404_6@9.启动zabbix服务

@H_404_6@service zabbix_server start

@H_404_6@server zabbix_agentd start

@H_404_6@访问服务器ip/zabbix就可以到安装界面进行安装了,按顺序走就可以了,这里我就不写步骤了

@H_404_6@

@H_404_6@ 编译安装zabbix客户端

1.新建Zabbix运行账户

useradd -M -s/sbin/nologin zabbix

2.在被监控服务器上编译安装zabbix-agent

cd /usr/local/src/

tar -xvzf zabbix-3.0.4.tar.gz

cd zabbix-3.0.4

./configure --prefix=/usr/local/zabbix/ --enable-agent

make && make install

3.编辑zabbix-agent配置文件

vi /usr/local/zabbix-agent/etc/zabbix_agentd.conf

Server=192.168.1.182

ServerActive=192.168.1.182

Hostname=ceshi2(这里注意写的是zabbix server服务器的主机名,不是本机的)

User=zabbix

4.添加zabbix环境变量

vim /etc/profile.d/zabbix.sh

export PATH=/usr/local/zabbix/sbin:/usr/local/zabbix/bin:$PATH

source /etc/profile.d/zabbix.sh

5.拷贝zabbix_agent启动脚本

cp /usr/local/src/zabbix-3.0.4/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd

6.启动zabbix_agent客户端

/usr/local/zabbix-agent/sbin/zabbix_agentd

猜你在找的CentOS相关文章