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
/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移除
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出现以下界面表示,Nginx与PHP连接无问题。出现问题,请自己查看是否按文档步骤执行 @H_404_6@ @H_404_6@此处注意检查观察PHP模块是否都安装成功 @H_404_6@接下来测试PHP和MysqL的联通性 @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出现以下界面表示成功,否则表示MysqL与PHP连通失败 @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