您的位置:首页 > 其它

zabbix-lnmp环境基础搭建

2016-08-17 00:00 387 查看
1、mysql5.5.49配置 (192.168.1.92)

yum install cmake gcc* ncurses-devel -y

groupadd -g 1000 mysql

mkdir -pv /data/mysql

useradd -u 1000 -g mysql -d /data/mysql -s /sbin/nologin mysql

chown -R mysql.mysql /data/mysql

tar -zxvf mysql-5.5.49.tar.gz -C /usr/local/

cd /usr/local/mysql-5.5.49

编译安装

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.5.49 -DDEFAULT_CHARSET=utf8 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql -DWITH_EXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DDEFAULT_COLLATION=utf8_general_ci

make && make install

ln -s /usr/local/mysql5.5.49 /usr/local/mysql

初始化数据库

chown -R mysql.mysql /usr/local/mysql

cd /usr/local/mysql/support-files/

cp my-medium.cnf /data/mysql/my.cnf

cp mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

cd /usr/local/mysql/scripts/

./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

vim /data/mysql/my.cnf

datadir=/data/mysql

启动并添加环境变量

/etc/init.d/mysqld start

chkconfig mysqld on

echo 'export PATH="$PATH:/usr/local/bin:/usr/local/mysql/bin"' >> /root/.bashrc

echo 'export PATH="$PATH:/usr/local/bin:/usr/local/mysql/bin"' >> /etc/profile

source /etc/profile

cp /usr/local/mysql5.5.49/lib/libmysqlclient.so.18.0.0 /usr/lib64

或者ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/

<----->创建zabbix数据库

mysql> CREATE DATABASE zabbix;

mysql> GRANT ALL ON zabbix.* TO 'zabbix'@'192.168.1.%' IDENTIFIED BY '123456' ;

mysql> GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY '123456';

mysql> GRANT ALL ON zabbix.* TO 'zabbix'@'study.zabbix1.com' IDENTIFIED BY '123456';

mysql> FLUSH PRIVILEGES;

--------此步骤在解压zabbix包后操作------------

倒入数据 ---如果mysql与zabbix服务器不在同一主机,可将以下三个sql, 传到mysql主机上,然后进行数据导入,实现mysql与zabbix分离

sql的位置/usr/local/zabbix-3.0.4/database/mysql

按此顺序导入sql,不可颠倒

[root@mysql]# mysql -uzabbix -p123456 zabbix < /data/mysql/zabbix/schema.sql

[root@mysql ]# mysql -uzabbix -p123456 zabbix < /data/mysql/zabbix/images.sql

[root@mysql ]# mysql -uzabbix -p123456 zabbix < /data/mysql/zabbix/data.sql

2、安装Nginx (192.168.1.90)

[root@client opt]# yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre* make libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel

groupadd -g 1001 nginx

[root@client opt]# useradd nginx -u 1001 -g nginx

[root@client opt]# tar zxvf nginx-1.8.0.tar.gz -C /usr/local/

[root@client opt]# cd /usr/local/nginx-1.8.0/

[root@client-nginx-1.8.0]#./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_mp4_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre

make

make install

[root@zabbix1 ~]# vi /etc/nginx/nginx.conf

user nginx;

worker_processes 4;
location / {
root html;
index index.html index.htm index.php;
location ~ \.php$ { --- 取消注释
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
include fastcgi.conf;
}

[root@zabbix1 ~]# /usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf

nginx: [emerg] mkdir() "/var/tmp/nginx/client/" failed (2: No such file or directory)

[root@zabbix1 ~]# mkdir -p /var/tmp/nginx/client/

[root@zabbix1 ~]# /usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf

3安装php

yum install freetype-devel

安装libiconv(加强系统对字符编码转换的支持 --未安装)

[root@client ~]# yum install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel -y

yum install freetype-devel

tar zxvf 51CTO下载-libiconv-1.14.tar.gz -C /usrocal/

[root@client libiconv-1.14]# ./configure --prefix=/usr/local/libiconv

[root@client libiconv-1.14]# make && make install

安装re2c-0.13.5.tar.gz

tar -zvxf re2c-0.13.5.tar.gz

./configure && make && make install

[root@client opt]# tar zxvf php-5.5.38.tar.gz -C /usr/local/

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local--with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath

为php提供配置文件

[root@zabbix1 php-5.5.38]# cp php.ini-production /usr/local/php/etc/php.ini

vim /usr/local/php/etc/php.ini

max_execution_time = 300

memory_limit = 128M

post_max_size = 16M

upload_max_filesize = 2M

max_input_time = 300

date.timezone = "Asia/Shanghai"

为php-fpm提供配置文件:

[root@zabbix1 php-5.5.38]#

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

编辑php-fpm的配置文件:

vim /usr/local/php/etc/php-fpm.conf

配置fpm的相关选项为你所需要的值,并启用pid文件(如下最后一行):

pm.max_children = 150

pm.start_servers = 8

pm.min_spare_servers = 5

pm.max_spare_servers = 10

pid = /usr/local/php/var/run/php-fpm.pid

为php-fpm提供Sysv init脚本,并将其添加至服务列表

[root@zabbix1 ~]# cp /usr/local/php-5.5.38/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm

chmod +x /etc/rc.d/init.d/php-fpm

chkconfig --add php-fpm

chkconfig php-fpm on

[root@client etc]# service php-fpm start

[root@zabbix1 ~]# vi /etc/nginx/fastcgi_params 清空后添加如下内容

fastcgi_param GATEWAY_INTERFACE CGI/1.1;

fastcgi_param SERVER_SOFTWARE nginx;

fastcgi_param QUERY_STRING $query_string;

fastcgi_param REQUEST_METHOD $request_method;

fastcgi_param CONTENT_TYPE $content_type;

fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;

fastcgi_param REQUEST_URI $request_uri;

fastcgi_param DOCUMENT_URI $document_uri;

fastcgi_param DOCUMENT_ROOT $document_root;

fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param REMOTE_ADDR $remote_addr;

fastcgi_param REMOTE_PORT $remote_port;

fastcgi_param SERVER_ADDR $server_addr;

fastcgi_param SERVER_PORT $server_port;

fastcgi_param SERVER_NAME $server_name;

[root@client etc]# service php-fpm restart

4、安装zabbix: zabbix-3.0.4

yum install net-snmp-devel mysql-devel curl-devel

groupadd -g 1002 zabbix

useradd zabbix -u 1002 -g zabbix

[root@client opt]# xz -d zabbix-3.0.4.tar.xz

[root@zabbix1 opt]# tar -xvf zabbix-3.0.4.tar -C /usr/local/

[root@zabbix opt]# cd /usr/local/zabbix-3.0.4/

[root@client zabbix-3.0.4]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-java ---选择监控Java需提前配置JDK

make

make install

添加端口
vi /etc/services
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper

[root@client zabbix-3.0.4]# cp -ra frontends/php/ /usr/local/nginx/html/zabbix
[root@client zabbix-3.0.4]# chown -R nginx.nginx /usr/local/nginx/html/zabbix

添加启动文件

[root@zabbix1 zabbix-3.0.4]# cp misc/init.d/fedora/core5/zabbix_server /etc/init.d/

[root@zabbix1 zabbix-3.0.4]# cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/

[root@zabbix1 zabbix-3.0.4]# vim /etc/init.d/zabbix_server
修改
ZABBIX_BIN="/usr/local/sbin/zabbix_server"

ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_server"

[root@zabbix1 zabbix-3.0.4]# vim /etc/init.d/zabbix_agentd
修改
ZABBIX_BIN="/usr/local/sbin/zabbix_agentd"

ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"

[root@zabbix1 zabbix-3.0.4]# chmod 700 /etc/init.d/zabbix_*

[root@zabbix1 zabbix-3.0.4]# vi /usr/local/zabbix/etc/zabbix_server.conf

DBhost=192.168.1.92 ---如果数据库不在本地,要取消注释,将数据库IP写上

DBName=zabbix
DBUser=zabbix
DBPassword=123456

启动服务并设置开机启动

chkconfig zabbix_server on
chkconfig zabbix_agentd on

/etc/init.d/zabbix_server start
/etc/init.d/zabbix_agentd start

[root@zabbix1 ~]# /usr/local/nginx/sbin/nginx -s reload

5、访问本地ip/zabbix/setup.php

需要给此目录下conf的zabbix.conf.php w+x权限,否则install之前会报错没有权限,可以自行下载conf文件,放在相应位置并且赋权。或者在前面给此文件相应权限。

[root@zabbix1 Downloads]# chmod 755 zabbix.conf.php

[root@zabbix1 Downloads]# cp zabbix.conf.php /usr/local/nginx/html/zabbix/conf/

6、zabbix-agent安装 (客户端IP为:192.168.1.91)

[root@agent1 ~]# yum -y install unixODBC

[root@agent1 ~]# rpm -ivh zabbix-agent-3.0.2-1.el6.x86_64.rpm

[root@agent1 etc]# vi /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

Server=192.168.1.90

ServerActive=192.168.1.90

Hostname=agent --客户端主机名

Include=/etc/zabbix/zabbix_agentd.d/

[root@agent opt]# /etc/init.d/zabbix-agent restart

在服务器端测试是否连通 (服务器端IP为:192.168.1.90)

/usr/local/zabbix/bin/zabbix_get -s 192.168.1.91 -p10050 -k"net.if.in[eth0,bytes]"

在服务器端添加主机:依次点击配置(Configure)-->主机(Hosts)-->创建主机(Create Host)

配置完成,第一个ZBX会变成绿色。

可以实现聚合监控

关于乱码问题:

在网上下载一个SIMKAI.ttl文件, 上传到

[root@zabbix ~]# cd /usr/local/nginx/html/zabbix/fonts/ --zabbix网页目录

[root@zabbix ~]# vi /usr/local/nginx/html/zabbix/include/defines.inc.php

1.// define('ZBX_FONT_NAME', 'DejaVuSans');

define('ZBX_FONT_NAME', 'simkai');

2.// define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name

define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name

五、Java性能监控

java用jmx

卸载后根据jdf新安装的路径定义变量(192.168.1.93)

rpm -qa | grep jdk --->确定JDK

java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64

java-1.6.0-openjdk-1.6.0.38-1.13.10.4.el6.x86_64

rpm -qa | grep cgj

yum -y remove java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64

mkdir /usr/local/java

解压JDK.tar包到/usr/local/java

[root@zabbix ~]# ln -s /usr/local/java/jdk1.7.0_80 /usr/local/jdk

[root@zabbix ~]# echo 'JAVA_HOME=/usr/local/jdk' >> /etc/profile

[root@zabbix ~]# echo 'PATH=$PATH:${JAVA_HOME}/bin/' >> /etc/profile

--如果版本不对,可将$PATH改写到bin后面

[root@zabbix ~]# echo 'export JAVA_HOME PATH' >> /etc/profile

[root@zabbix ~]# source /etc/profile

[root@zabbix ~]# java -version

java version "1.7.0_80"

[root@zabbix zabbix-3.0.4]# ./configure --enable-java --prefix=/usr/local/zabbix_java_gateway-2.0.6

-----上面编译之后,此步骤不操作,下面操作的路径在/usr/local/zabbix/sbin/zabbix_java

[root@zabbix zabbix-3.0.4]# make && make install clean

[root@zabbix ~]# ln -s /usr/local/zabbix_java_gateway-2.0.6 /usr/local/zabbix_java_gateway

[root@zabbix ~]# /usr/local/zabbix/etc/zabbix_server.conf JavaGateway=127.0.0.1 --JavaGateway服务器的地址,此次在 zabbix-server上

JavaGatewayPort=10052

StartJavaPollers=5 --从JavaGateway采集工具的进程数

[root@zabbix ~]# cd /usr/local/zabbix_java_gateway/sbin/zabbix_java

[root@zabbix zabbix_java]# vi settings.sh

LISTEN_IP="0.0.0.0" --监听地址

LISTEN_PORT=10052 --监听端口

START_POLLERS=5 --开启的工作线程数(必须大于等于 zabbix_server.conf中的StartJavaPollers)

[root@zabbix zabbix_java]#./startup.sh

[root@zabbix zabbix_java]# netstat -antp | grep 10052

tcp 0 0 :::10052 :::* LISTEN 31492/java

[root@zabbix bin]# pwd

/usr/local/zabbix_java_gateway/sbin/zabbix_java/bin

[root@zabbix bin]# ll

total 44

-rw-r--r-- 1 root root 13520 Aug 15 11:19 catalina-jmx-remote.jar

-rw-r--r-- 1 root root 26829 Aug 11 20:00 zabbix-java-gateway-3.0.4.jar

客户端配置:安装JDK

修改zabbix-agent配置文件,修改后重启生效
# vim /etc/zabbix/zabbix_agentd.conf
EnableRemoteCommands=1 开启agent端远程命令执行功能

安装tomcat

[root@agent1 opt]#tar -zxvf apache-tomcat-7.0.70.tar.gz -C /usr/local/

[root@agent1 local]# ln -s /usr/local/apache-tomcat-7.0.70 /usr/local/tomcat

[root@agent1 opt]# cp catalina-jmx-remote.jar /usr/local/tomcat/bin/

[root@agent1 ~]# cd /usr/local/tomcat/bin

[root@agent1 bin]# vi catalina.sh

#!/bin/sh

CATALINA_OPTS="${CATALINA_OPTS} -Djava.rmi.server.hostname=192.168.1.94"

CATALINA_OPTS="${CATALINA_OPTS} -Djavax.management.builder.initial="

CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote=true"

CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.port=12345"

CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.ssl=false"

CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.authenticate=fals

e"

[root@agent1 bin]# ./shutdown.sh

[root@agent1 bin]# pkill java

[root@agent1 bin]# ./startup.sh

------测试是否可以收集数据

[root@zabbix bin]# java -jar /opt/cmdline-jmxclient-0.10.3.jar - 192.168.1.94:12345 java.lang:type=Memory NonHeapMemoryUsage

08/18/2016 13:30:56 +0800 org.archive.jmx.Client NonHeapMemoryUsage:

committed: 24313856

init: 24313856

max: 136314880

used: 17460680
http://blog.sina.com.cn/s/blog_79ac6aa80101gggo.html
sed 's/CATALINA_HOME/CATALINA_HOME_1/g' /usr/local/tomcat_18086/bin/catalina.sh > catalina.sh_1

-Dcom.sun.management.jmxremote

-Dcom.sun.management.jmxremote.port=3333

-Dcom.sun.management.jmxremote.authenticate=false

-Dcom.sun.management.jmxremote.ssl=false

tar -xvf zabbix-3.0.4.tar.xz -C /usr/local/

cd /usr/local/zabbix-3.0.4/

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

make install

make clean

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

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

Server=192.168.1.90

ServerActive=192.168.1.90

Hostname=agent --客户端主机名

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/

cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

chmod a+x /etc/init.d/zabbix_agentd

vi /etc/init.d/zabbix_agentd

# Zabbix-Directory

BASEDIR=/usr/local/zabbix

/etc/init.d/zabbix_agentd start

service zabbix_agentd start
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zabbix lnmp