应用部署

 

一、简介

本文档是完整版的天象服务部署手册,包括天象ELK Stack、数据库、天象应用服务等安装部署步骤。安装完成后的部署总览图参考如下:

 

二、软硬件环境

在逻辑上,天象使用的服务器逻辑上分为如下三类:

天象应用服务器软硬件要求及待安装软件

主要配置项具体要求

CPU不低于8核,如Intel(R) Xeon(R) CPU E5-2660 v4 @ 2.00GHz

内存不低于16G,如16GB DDR3-1600

存储不低于200G,如1T SATA3.0

网络100兆局域网及以上配置

操作系统64位Linux,比如CentOS release 6.9 (Final)及以上版本

解压软件可解压zip/rar/tar.gz等压缩包

待安装软件JDK1.8

Prometheus Server

MySQL Server

eureka-server

apm-config

apm-digital

apm-agentlog-collector

apm-microservice

apm-servicediscovery

apm-prometheusboot

apm-microcollector

 

天象ELK Stack服务器软硬件要求及待安装软件

主要配置项具体要求

CPU不低于8核,如Intel(R) Xeon(R) CPU E5-2660 v4 @ 2.00GHz

内存不低于32G,如32GB DDR3-1600

存储不低于1T,如1T SATA3.0

网络100兆局域网及以上配置

操作系统64位Linux,比如CentOS release 6.9 (Final)及以上版本

解压软件可解压zip/rar/tar.gz等压缩包

待安装软件JDK1.8

Logstash

ElasticSearch

Kibana

X-pack

 

天象文件服务器软硬件要求及待安装软件

主要配置项具体要求

CPU不低于4核,如Intel(R) Xeon(R) CPU E5-2660 v4 @ 2.00GHz

内存不低于8G,如8GB DDR3-1600

存储不低于100G,如100G SATA3.0

网络100兆局域网及以上配置

操作系统64位Linux,比如CentOS release 6.9 (Final)及以上版本

解压软件可解压zip/rar/tar.gz等压缩包

待安装软件Python2.7及第三方依赖包

JDK1.8

Filebeat

apm-python-collector

apm-python-filesync

apm-python-translator

apm-agentlog

 

 

三、天象应用服务器软件安装

1、安装前准备

确定应用服务器上大容量磁盘的挂载路径,本章节下述步骤将以/data目录作为软件安装目录

确定各应用服务的端口,保证同一服务器上的服务端口不会冲突,端口列表参考如下:

服务名建议端口备注

PrometheusServer9090

MySQL Server3306

Eureka-server9081天象注册中心服务,所有天象微服务启动时均需配置注册中心的服务地址

apm-config8081

apm-digital8080

apm-agentlog-collector8083

apm-servicediscovery8087

apm-prometheusboot8088

apm-microcollector9998

apm-microservice9999

本章下述步骤将以root用户进行服务搭建及启动操作

使用FTP工具,使用root用户将本文档同目录的APM文件夹及其子文件拷贝至应用服务器的/data目录

 

2、安装并启动PrometheusServer

使用root用户登录天象应用服务器

进入天象安装目录:[root@localhost ~]# cd /data/APM

解压prometheus安装文件:[root@localhost APM]# tar -zxvf prometheus-2.10.0.linux-amd64.tar.gz

备份prometheus配置文件:

[root@localhost APM]# mv prometheus-2.10.0.linux-amd64/prometheus.yml prometheus-2.10.0.linux-amd64/prometheus-example.yml

覆盖prometheus配置文件:

[root@localhost APM]# mv prometheus.yml prometheus-2.10.0.linux-amd64/prometheus.yml

启动prometheus服务(这里需要注意,不能直接在外层目录执行prometheus启动脚本):

[root@localhost APM]# cd /data/APM/prometheus-2.10.0.linux-amd64/ && nohup ./prometheus > console.log 2>&1 &

访问prometheus服务,如:http://10.51.150.43:9090/进行服务验证

最后一步,删除prometheus安装文件(安装目录更清净):

[root@localhost APM]# rm -rf /data/APM/prometheus-2.10.0.linux-amd64.tar.gz

 

3、安装MySQL Server

使用root用户登录天象应用服务器

解压mysql安装文件

[root@localhost ~]# cd /data/APM

[root@localhost APM]# tar -zxvf mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz

添加mysql组和mysql用户

[root@localhost APM]# groupadd mysql

[root@localhost APM]# useradd -g mysql mysql

[root@localhost APM]# passwd mysql

创建MySQL数据存储文件夹以及赋权

[root@localhost APM]# cd /data/APM/

[root@localhost APM]# ln -s mysql-5.7.13-linux-glibc2.5-x86_64/ mysql

[root@localhost APM]# mkdir /data/APM/mysql/data

[root@localhost APM]# mkdir /data/APM/mysql/tmp

[root@localhost APM]# mkdir /data/APM/mysql/logs

[root@localhost APM]# chown -R mysql:mysql /data/APM/mysql-5.7.13-linux-glibc2.5-x86_64/

初始化MySQL5.7

[root@localhost APM]# cd /data/APM/mysql

[root@localhost mysql]# /data/APM/mysql/bin/mysqld --initialize --user=mysql --datadir=/data/APM/mysql/data/ --basedir=/data/APM/mysql/

初始化完成会输出如下内容:

A temporary password is generated for root@localhost: pd=n0iNw>na,

这里给root用户初始化的密码需要记住,后面登录的时候会用到

设置mysql以服务运行并开机启动

[root@localhost mysql]# cp /data/APM/mysql/support-files/mysql.server /etc/init.d/mysql

[root@localhost mysql]# chmod +x /etc/init.d/mysql

[root@localhost mysql]# chkconfig --add mysql

mysql添加到系统命令

[root@localhost mysql]# ln -s /data/APM/mysql/bin/mysql /usr/local/bin/mysql

编辑mysql配置

[root@localhost mysql]# rm -rf /etc/my.cnf

[root@localhost mysql]# cp /data/APM/mysql/support-files/my-default.cnf /etc/my.cnf

[root@localhost mysql]# vi /etc/my.cnf

按下Insert或i进入编辑模式,将如下内容拷贝至文件sql_mode属性下方:

character-set-server=utf8

basedir=/data/APM/mysql

datadir=/data/APM/mysql/data

tmpdir=/data/APM/mysql/tmp

log-error=/data/APM/mysql/logs/mysql.err

port=3306

socket=/data/APM/mysql/tmp/mysql.sock

max_connections=200

default-storage-engine=INNODB

lower_case_table_names=1

max_allowed_packet=16M

[client]

default-character-set=utf8

socket=/data/APM/mysql/tmp/mysql.sock

[mysql]

default-character-set = utf8

socket = /data/APM/mysql/tmp/mysql.sock

Esc退出编辑,按下:wq保存并退出

启动mysql

[root@localhost mysql]# service mysql start

如果输出:Starting MySQL. SUCCESS!,即为启动成功.

如果启动报错,则查看/data/APM/mysql/logs/mysql.err文件查看报错日志.

修改mysql root用户密码.

连接mysql:[root@localhost mysql]# mysql -u root -p

输入第5步的root用户临时密码,登录成功后输入如下语句更新root用户密码:

mysql> set password for root@localhost=password('1234.abcd');

新建天象的database及db用户(仍然使用root用户登录mysql)

创建天象数据库apmcloud.

mysql> create database apmcloud default character set utf8 collate utf8_general_ci;

创建天象数据库用户apmcloud.

mysql> create user 'apmcloud'@'%' identified by '1234.abcd';

为数据库用户赋权.

mysql> grant all privileges on apmcloud.* to apmcloud;

退出mysql数据库

mysql> exit

至此,MySQL数据库安装完成.

最后一步,删除MySQL安装文件(安装目录更清净):

[root@localhost mysql]# rm -rf /data/APM/mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz

 

4、安装JDK1.8

使用root用户登录天象应用服务器

验证是否已安装JDK1.8:[root@localhost ~]# java -version

如果已安装,则跳过本小节后续步骤。否则,继续。

解压jdk安装文件:

[root@localhost ~]# cd /data/APM

[root@localhost APM]# tar -zxvf jdk-8u144-linux-x64.tar.gz

配置命令:

编辑/etc/profile:[root@localhost APM]# vi /etc/profile

按下Insert或i进入编辑模式,在文件尾部增加如下配置:

export JAVA_HOME=/data/APM/jdk1.8.0_144

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JRE_HOME=$JAVA_HOME/jre

Esc退出编辑,输入:wq保存并退出。

重新执行初始化文件,立即生效:

[root@localhost APM]# vi /etc/profile

验证命令:[root@localhost APM]# java -version

最后一步,删除jdk安装文件:

[root@localhost APM]# rm -rf /data/APM/jdk-8u144-linux-x64.tar.gz

 

5、启动Eureka-Server

使用root用户登录天象应用服务器

启动Eureka-Server:[root@localhost ~]# sh /data/APM/apm-eurekaserver/restartEurekaServer.sh

访问Eureka注册中心服务,如:http://10.51.150.43:9081/进行服务验证

 

6、启动apm-config

使用root用户登录天象应用服务器

修改启动脚本(调整apm-config服务的jdbc及注册中心配置):

[root@localhost ~]# vi /data/APM/apm-config/restartApmConfig.sh

按下Insert或i进入编辑模式,调整如下JVM参数:

jdbc.url

jdbc.username

jdbc.password

mapp.serviceRegisterUrl

调整后,Esc退出编辑,:wq保存

启动apm-config:[root@localhost ~]# sh /data/APM/apm-config/restartApmConfig.sh

访问第五章节搭建的Eureka注册中心服务,此时服务列表中有NECP.APM.CONFIG服务实例,说明apm-config服务成功注册到Eureka注册中心

 

7、启动apm-digital

使用root用户登录天象应用服务器

修改启动脚本(调整apm-digital服务的注册中心配置);

[root@localhost ~]# vi /data/APM/apm-digital/restartApmDigital.sh

按下Insert或i进入编辑模式,调整如下JVM参数:

mapp.serviceRegisterUrl,调整为本章第五节部署的Eureka注册中心地址

调整后,Esc退出编辑,:wq保存

启动apm-digital:[root@localhost ~]# sh /data/APM/apm-digital/restartApmDigital.sh

访问本章第五节搭建的Eureka注册中心服务,此时服务列表中有NECP.APM.DIGITAL服务实例,说明apm-digital服务成功注册到Eureka注册中心

 

8、启动apm-agentlog-collector

使用root用户登录天象应用服务器

修改启动脚本(调整apm-agentlog-collector服务的注册中心配置);

[root@localhost ~]# vi /data/APM/apm-agentlog-collector/restartApmAgentlogCollector.sh

按下Insert或i进入编辑模式,调整如下JVM参数:

mapp.serviceRegisterUrl,调整为本章第五节部署的Eureka注册中心地址

调整后,Esc退出编辑,:wq保存

启动apm-agentlog-collector:

[root@localhost ~]# sh /data/APM/apm-agentlog-collector/restartApmAgentlogCollector.sh

访问本章第五节搭建的Eureka注册中心服务,此时服务列表中有NECP.APM.AGENTLOG-COLLECTOR服务实例,说明apm-agentlog-collector服务成功注册到Eureka注册中心

 

9、启动apm-servicediscovery

使用root用户登录天象应用服务器

修改启动脚本(调整apm-servicediscovery服务的注册中心配置);

[root@localhost ~]# vi /data/APM/apm-servicediscovery/restartApmServiceDiscovery.sh

按下Insert或i进入编辑模式,调整如下JVM参数:

mapp.serviceRegisterUrl,调整为本章第五节部署的Eureka注册中心地址

调整后,Esc退出编辑,:wq保存

启动apm-servicediscovery:

[root@localhost ~]# sh /data/APM/apm-servicediscovery/restartApmServiceDiscovery.sh

访问本章第五节搭建的Eureka注册中心服务,此时服务列表中有NECP.APM.DISCOVERY服务实例,说明apm-servicediscovery服务成功注册到Eureka注册中心

 

10、启动apm-prometheusboot

使用root用户登录天象应用服务器

修改启动脚本(调整apm-prometheusboot服务的注册中心配置);

[root@localhost ~]# vi /data/APM/apm-prometheusboot/restartPrometheusBoot.sh

按下Insert或i进入编辑模式,调整如下JVM参数:

mapp.serviceRegisterUrl,调整为本章第五节部署的Eureka注册中心地址

调整后,Esc退出编辑,:wq保存

启动apm-prometheusboot:

[root@localhost ~]# sh /data/APM/apm-prometheusboot/restartPrometheusBoot.sh

访问本章第五节搭建的Eureka注册中心服务,此时服务列表中有NECP.APM.PROMETHEUS服务实例,说明apm-prometheusboot服务成功注册到Eureka注册中心

注意:apm-prometheusboot服务必须与PrometheusServer部署在同一台服务器。

 

11、启动apm-microcollector

使用root用户登录天象应用服务器

修改启动脚本(调整apm-microcollector服务的注册中心配置);

[root@localhost ~]# vi /data/APM/apm-microcollector/restartMicroCollector.sh

按下Insert或i进入编辑模式,调整如下JVM参数:

mapp.serviceRegisterUrl,调整为本章第五节部署的Eureka注册中心地址

调整后,Esc退出编辑,:wq保存

启动apm-microcollector:

[root@localhost ~]# sh /data/APM/apm-microcollector/restartMicroCollector.sh

访问本章第五节搭建的Eureka注册中心服务,此时服务列表中有NECP.APM.MICROCOLLECTOR服务实例,说明apm-microcollector服务成功注册到Eureka注册中心

 

12、启动apm-microservice

使用root用户登录天象应用服务器

修改启动脚本(调整apm-microservice服务的注册中心配置);

[root@localhost ~]# vi /data/APM/apm-microservice/restartMicroService.sh

按下Insert或i进入编辑模式,调整如下JVM参数:

mapp.serviceRegisterUrl,调整为本章第五节部署的Eureka注册中心地址

调整后,Esc退出编辑,:wq保存

启动apm-microservice:

[root@localhost ~]# sh /data/APM/apm-microservice/restartMicroService.sh

访问本章第五节搭建的Eureka注册中心服务,此时服务列表中有NECP.APM.MICROSERVICE服务实例,说明apm-microservice服务成功注册到Eureka注册中心

 

 

四、ELK Stack服务器软件安装(5.6.15版本)

1、安装前准备

本章安装ELK Stack版本为6.8.0

确定ELK Stack服务器上大容量磁盘的挂载路径,本章节下述步骤将以/data目录作为软件安装目录

确定ELK Stack各服务的端口,保证同一服务器上的服务端口不会冲突,端口列表参考如下:

服务名建议端口备注

ElasticSearch9200

Logstash5045

Kibana5601

本章下述步骤将以elk用户进行服务搭建及启动操作,因此首先使用root用户创建elk用户及用户组:

创建用户组:[root@localhost ~]# groupadd elk

创建用户: [root@localhost ~]# useradd -g elk elk

修改密码:[root@localhost ~]# passwd elk

注意:ELK Stack服务需使用elk用户进行启动。

调整elk用户使用的最大线程数:[root@localhost ~]# vi /etc/security/limits.conf

按下Insert或i进入编辑模式,将如下配置拷贝至文件:

# elk user source

elk soft memlock unlimited

elk hard memlock unlimited

elk soft nofile 65536

elk hard nofile 131072

elk soft nproc 2048

elk hard nproc 4096

Esc退出编辑,输入:wq保存并退出,elk用户退出登录后再登录配置生效

调整ELK Stack服务器上进程能拥有的最多的内存区域:[root@localhost ~]# vi /etc/sysctl.conf

按下Insert或i进入编辑模式,在配置文件中新增属性:

vm.max_map_count=655360

Esc退出编辑,输入:wq保存并退出

修改验证:[root@localhost ~]# sysctl -p

 

使用FTP工具,使用root用户将本文档同目录的ELK文件夹及其子文件拷贝至ELK Stack服务器的/data目录,然后对/data/ELK目录进行赋权:[root@localhost ~]# chown –R elk:elk /data/ELK

 

2、JDK1.8安装

使用root用户登录天象ELK Stack服务器

验证是否已安装JDK1.8:[root@localhost ~]# java -version

如果已安装,则跳过本小节后续步骤。否则,继续。

解压jdk安装文件:

[root@localhost ~]# tar -zxvf /data/ELK/ELK-installer/jdk-8u144-linux-x64.tar.gz -C /data/ELK

配置命令:

编辑/etc/profile:[root@localhost ~]# vi /etc/profile

按下Insert或i进入编辑模式,在文件尾部增加如下配置:

export JAVA_HOME=/data/ELK/jdk1.8.0_144

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JRE_HOME=$JAVA_HOME/jre

Esc退出编辑,输入:wq保存并退出。

重新执行初始化文件,立即生效:

[root@localhost ~]# vi /etc/profile

验证命令:[root@localhost ~]# java -version

 

3、ElasticSearch5.6.15安装

使用elk用户登录天象ELK Stack服务器

解压ElasticSearch安装文件:

[elk@localhost ~]# cd /data/ELK

[elk@localhost ELK]# tar -zxvf /data/ELK/ELK-installer/elasticsearch-5.6.15.tar.gz -C /data/ELK

创建ElasticSearch数据及日志文件夹:

[elk@localhost ELK]# mkdir /data/ELK/elasticsearch-5.6.15/logs

[elk@localhost ELK]# mkdir /data/ELK/elasticsearch-5.6.15/data

调整ElasticSearch配置:

[elk@localhost ELK]# cp /data/ELK/ELK-Template-5.6.15/elasticsearch_config/elasticsearch.yml /data/ELK/elasticsearch-5.6.15/config/elasticsearch.yml

[elk@localhost ELK]# cp /data/ELK/ELK-Template-5.6.15/elasticsearch_config/jvm.options /data/ELK/elasticsearch-5.6.15/config/jvm.options

调整后的ElasticSearch堆内存大小为16g

添加ElasticSearch重启脚本:

[elk@localhost ELK]# cp /data/ELK/ELK-Template-5.6.15/restartElasticSearch.sh /data/ELK/elasticsearch-5.6.15/restartElasticSearch.sh

启动ElasticSearch服务并验证:

[elk@localhost ELK]# sh /data/ELK/elasticsearch-5.6.15/restartElasticSearch.sh

查看日志文件/data/ELK/elasticsearch-5.6.15/logs/console.log判断服务启动正常与否,也可以在控制台输入命令查看:[elk@localhost ELK]# curl http://127.0.0.1:9200,响应结果示例如下:

{

  "name" : "node-0",

  "cluster_name" : "app-cluster-elk",

  "cluster_uuid" : "KTr9uNWJQO65_WvV_trO_g",

  "version" : {

    "number" : "5.6.15",

    "build_hash" : "fe7575a",

    "build_date" : "2019-02-13T16:21:45.880Z",

    "build_snapshot" : false,

    "lucene_version" : "6.6.1"

  },

  "tagline" : "You Know, for Search"

}

 

4、Kibana5.6.15安装

使用elk用户登录天象ELK Stack服务器

解压Kibana安装文件:

[elk@localhost ~]# cd /data/ELK

[elk@localhost ELK]# tar -zxvf /data/ELK/ELK-installer/kibana-5.6.15-linux-x86_64.tar.gz -C /data/ELK

创建Kibana日志文件夹:

[elk@localhost ELK]# mkdir /data/ELK/kibana-5.6.15-linux-x86_64/logs

调整Kibana配置:

[elk@localhost ELK]# cp /data/ELK/ELK-Template-5.6.15/kibana_config/kibana.yml /data/ELK/kibana-5.6.15-linux-x86_64/config/kibana.yml

然后修改kibana.yml中的配置,调整server.host属性(全局替换localhost为Kibana服务IP),elasticsearch.url属性(全局替换127.0.0.1:9200为ElasticSearch服务IP:port)等属性。

添加Kibana重启脚本:

[elk@localhost ELK]# cp /data/ELK/ELK-Template-5.6.15/restartKibana.sh /data/ELK/kibana-5.6.15-linux-x86_64/restartKibana.sh

启动Kibana服务并验证:

[elk@localhost ELK]# sh /data/ELK/kibana-5.6.15-linux-x86_64/restartKibana.sh

查看日志文件/data/ELK/kibana-5.6.15-linux-x86_64/logs/console.log判断服务启动正常与否,或者直接访问Kibana服务进行访问,服务url示例:http://10.51.150.43:5601

 

5、Logstash5.6.15安装

使用elk用户登录天象ELK Stack服务器

解压Logstash安装文件:

[elk@localhost ~]# cd /data/ELK

[elk@localhost ELK]# tar -zxvf /data/ELK/ELK-installer/logstash-5.6.15.tar.gz -C /data/ELK

创建Logstash日志文件夹:

[elk@localhost ELK]# mkdir /data/ELK/logstash-5.6.15/logs

调整Logstash配置:

[elk@localhost ELK]# cp /data/ELK/ELK-Template-5.6.15/logstash_config/logstash.yml /data/ELK/logstash-5.6.15/config/logstash.yml

[elk@localhost ELK]# cp /data/ELK/ELK-Template-5.6.15/logstash_config/jvm.options /data/ELK/logstash-5.6.15/config/jvm.options

[elk@localhost ELK]# cp /data/ELK/ELK-Template-5.6.15/logstash_config/logstash-filebeat.conf /data/ELK/logstash-5.6.15/config/logstash-filebeat.conf

调整logstash-filebeat.conf文件首部的Logstash服务IP和端口,以及文件尾部的ElasticSearch服务IP和端口号(打开logstash-filebeat.conf文件后,全局替换127.0.0.1:9200为ElasticSearch服务IP:port)

拷贝logstashRuby.jar:

[elk@localhost ELK]# cp /data/ELK/ELK-installer/logstashRuby.jar /data/ELK/logstash-5.6.15/lib/logstashRuby.jar

添加Logstash重启脚本:

[elk@localhost ELK]# cp /data/ELK/ELK-Template-5.6.15/restartLogstash.sh /data/ELK/logstash-5.6.15/restartLogstash.sh

启动Logstash服务并验证:

[elk@localhost ELK]# sh /data/ELK/logstash-5.6.15/restartLogstash.sh

服务启动后,在/data/ELK/logstash-5.6.15/logs文件夹下查看日志文件console.out,如果日志文件输出:Successfully started Logstash API endpoint,说明logstash服务启动成功。

 

6、安装x-pack5.6.15

使用elk用户登录天象ELK Stack服务器

停止ElasticSearch服务:

[elk@localhost ~]# ps -ef|grep elasticsearch-5.6.15|awk '{print $2}'|xargs kill -9

停止Kibana服务:

[elk@localhost ~]# ps -ef|grep kibana-5.6.15-linux-x86_64|awk '{print $2}'|xargs kill -9

ElasticSearch安装x-pack插件:

[elk@localhost ~]# cd /data/ELK/elasticsearch-5.6.15/bin

[elk@localhost bin]# ./elasticsearch-plugin install file:///data/ELK/ELK-installer/x-pack-5.6.15.zip

提示:Continue with installation? [y/N]

输入y后等待安装完成

Kibana安装x-pack插件:

[elk@localhost ~]# cd /data/ELK/kibana-5.6.15-linux-x86_64/bin

[elk@localhost bin]# ./kibana-plugin install file:///data/ELK/ELK-installer/x-pack-5.6.15.zip

编辑ElasticSearch配置:

[elk@localhost ~]# vi /data/ELK/elasticsearch-5.6.15/config/elasticsearch.yml

按下Insert或i进入编辑模式,在文件末尾添加如下属性:

xpack.security.enabled: false

Esc退出编辑,按下:wq保存并退出

 

7、安装ElasticSearch License

登录https://register.elastic.co/marvel_register注册license

收到注册邮件后下载license,保存为license.json

使用elk用户开启ElasticSearch服务

将license.json上传至ElasticSearch安装目录:/data/ELK/elasticsearch-5.6.15

执行注册操作:

[elk@localhost ~]# cd /data/ELK/elasticsearch-5.6.15

[elk@localhost ~]# curl -XPUT -u elastic http://10.51.150.28:9200/_xpack/license?acknowledge=true  -H 'Content-Type: application/json' -d @license.json

提示输入elastic用户密码:Enter host password for user 'elastic':

输入elastic默认密码:changeme

License安装成功,给出返回:{"acknowledged":true,"license_status":"valid"}

License验证:[elk@localhost ~]# curl http://10.51.150.28:9200/_xpack/license

重启ElasticSearch及Kibana。

 

五、ELK Stack服务器软件安装(6.8.0版本)

1、安装前准备

本章安装ELK Stack版本为6.8.0

确定ELK Stack服务器上大容量磁盘的挂载路径,本章节下述步骤将以/data目录作为软件安装目录

确定ELK Stack各服务的端口,保证同一服务器上的服务端口不会冲突,端口列表参考如下:

服务名建议端口备注

ElasticSearch9200

Logstash5045

Kibana5601

本章下述步骤将以elk用户进行服务搭建及启动操作,因此首先使用root用户创建elk用户及用户组:

创建用户组:[root@localhost ~]# groupadd elk

创建用户: [root@localhost ~]# useradd -g elk elk

修改密码:[root@localhost ~]# passwd elk

注意:ELK Stack服务需使用elk用户进行启动。

调整elk用户使用的最大线程数:[root@localhost ~]# vi /etc/security/limits.conf

按下Insert或i进入编辑模式,将如下配置拷贝至文件:

# elk user source

elk soft memlock unlimited

elk hard memlock unlimited

elk soft nofile 65536

elk hard nofile 131072

elk soft nproc 2048

elk hard nproc 4096

Esc退出编辑,输入:wq保存并退出,elk用户退出登录后再登录配置生效

调整ELK Stack服务器上进程能拥有的最多的内存区域:[root@localhost ~]# vi /etc/sysctl.conf

按下Insert或i进入编辑模式,在配置文件中新增属性:

vm.max_map_count=655360

Esc退出编辑,输入:wq保存并退出

修改验证:[root@localhost ~]# sysctl -p

 

使用FTP工具,使用root用户将本文档同目录的ELK文件夹及其子文件拷贝至ELK Stack服务器的/data目录,然后对/data/ELK目录进行赋权:[root@localhost ~]# chown –R elk:elk /data/ELK

 

2、JDK1.8安装

使用root用户登录天象ELK Stack服务器

验证是否已安装JDK1.8:[root@localhost ~]# java -version

如果已安装,则跳过本小节后续步骤。否则,继续。

解压jdk安装文件:

[root@localhost ~]# tar -zxvf /data/ELK/ELK-installer/jdk-8u144-linux-x64.tar.gz -C /data/ELK

配置命令:

编辑/etc/profile:[root@localhost ~]# vi /etc/profile

按下Insert或i进入编辑模式,在文件尾部增加如下配置:

export JAVA_HOME=/data/ELK/jdk1.8.0_144

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JRE_HOME=$JAVA_HOME/jre

Esc退出编辑,输入:wq保存并退出。

重新执行初始化文件,立即生效:

[root@localhost ~]# vi /etc/profile

验证命令:[root@localhost ~]# java -version

 

3、ElasticSearch6.8.0安装

使用elk用户登录天象ELK Stack服务器

解压ElasticSearch安装文件:

[elk@localhost ~]# cd /data/ELK

[elk@localhost ELK]# tar -zxvf /data/ELK/ELK-installer/elasticsearch-6.8.0.tar.gz -C /data/ELK

创建ElasticSearch数据文件夹:

[elk@localhost ELK]# mkdir /data/ELK/elasticsearch-6.8.0/data

调整ElasticSearch配置:

[elk@localhost ELK]# cp /data/ELK/ELK-Template-6.8.0/elasticsearch_config/elasticsearch.yml /data/ELK/elasticsearch-6.8.0/config/elasticsearch.yml

[elk@localhost ELK]# cp /data/ELK/ELK-Template-6.8.0/elasticsearch_config/jvm.options /data/ELK/elasticsearch-6.8.0/config/jvm.options

调整后的ElasticSearch堆内存大小为16g

添加ElasticSearch重启脚本:

[elk@localhost ELK]# cp /data/ELK/ELK-Template-6.8.0/restartElasticSearch.sh /data/ELK/elasticsearch-6.8.0/restartElasticSearch.sh

启动ElasticSearch服务并验证:

[elk@localhost ELK]# sh /data/ELK/elasticsearch-6.8.0/restartElasticSearch.sh

查看日志文件/data/ELK/elasticsearch-6.8.0/logs/console.log判断服务启动正常与否,也可以在控制台输入命令查看:[elk@localhost ELK]# curl http://127.0.0.1:9200,响应结果示例如下:

{

  "name" : "node-0",

  "cluster_name" : "app-cluster-elk",

  "cluster_uuid" : "qBfJX9GlQemMukYgexGT1g",

  "version" : {

    "number" : "6.8.0",

    "build_flavor" : "default",

    "build_type" : "tar",

    "build_hash" : "65b6179",

    "build_date" : "2019-05-15T20:06:13.172855Z",

    "build_snapshot" : false,

    "lucene_version" : "7.7.0",

    "minimum_wire_compatibility_version" : "5.6.0",

    "minimum_index_compatibility_version" : "5.0.0"

  },

  "tagline" : "You Know, for Search"

}

 

4、Kibana6.8.0安装

使用elk用户登录天象ELK Stack服务器

解压Kibana安装文件:

[elk@localhost ~]# cd /data/ELK

[elk@localhost ELK]# tar -zxvf /data/ELK/ELK-installer/kibana-6.8.0-linux-x86_64.tar.gz -C /data/ELK

创建Kibana日志文件夹:

[elk@localhost ELK]# mkdir /data/ELK/kibana-6.8.0-linux-x86_64/logs

调整Kibana配置:

[elk@localhost ELK]# cp /data/ELK/ELK-Template-6.8.0/kibana_config/kibana.yml /data/ELK/kibana-6.8.0-linux-x86_64/config/kibana.yml

然后修改kibana.yml中的配置,调整server.host(全局替换10.11.10.10为Kibana服务IP),elasticsearch.hosts(全局替换127.0.0.1:9200为ElasticSearch服务IP:port)等属性。

添加Kibana重启脚本:

[elk@localhost ELK]# cp /data/ELK/ELK-Template-6.8.0/restartKibana.sh /data/ELK/kibana-6.8.0-linux-x86_64/restartKibana.sh

启动Kibana服务并验证:

[elk@localhost ELK]# sh /data/ELK/kibana-6.8.0-linux-x86_64/restartKibana.sh

查看日志文件/data/ELK/kibana-6.8.0-linux-x86_64/logs/console.log判断服务启动正常与否,或者直接访问Kibana服务进行访问,服务url示例:http://10.51.150.43:5601

 

5、Logstash6.8.0安装

使用elk用户登录天象ELK Stack服务器

解压Logstash安装文件:

[elk@localhost ~]# cd /data/ELK

[elk@localhost ELK]# tar -zxvf /data/ELK/ELK-installer/logstash-6.8.0.tar.gz -C /data/ELK

创建Logstash日志文件夹:

[elk@localhost ELK]# mkdir /data/ELK/logstash-6.8.0/logs

调整Logstash配置:

[elk@localhost ELK]# cp /data/ELK/ELK-Template-6.8.0/logstash_config/logstash.yml /data/ELK/logstash-6.8.0/config/logstash.yml

[elk@localhost ELK]# cp /data/ELK/ELK-Template-6.8.0/logstash_config/jvm.options /data/ELK/logstash-6.8.0/config/jvm.options

[elk@localhost ELK]# cp /data/ELK/ELK-Template-6.8.0/logstash_config/logstash-filebeat.conf /data/ELK/logstash-6.8.0/config/logstash-filebeat.conf

调整logstash-filebeat.conf文件首部的Logstash服务IP和端口,以及文件尾部的ElasticSearch服务IP和端口号(打开logstash-filebeat.conf文件后,全局替换10.11.10.10为Logstash服务IP,全局替换127.0.0.1:9200为ElasticSearch服务IP:port)

拷贝logstashRuby.jar:

[elk@localhost ELK]# cp /data/ELK/ELK-installer/logstashRuby.jar /data/ELK/logstash-6.8.0/lib/logstashRuby.jar

安装logstash-filter-uuid插件:

[elk@localhost ELK]# cd /data/ELK/logstash-6.8.0/bin

[elk@localhost bin]# ./logstash-plugin install file:///data/ELK/ELK-installer/logstash-filter-uuid-3.0.5.zip

添加Logstash重启脚本:

[elk@localhost ELK]# cp /data/ELK/ELK-Template-6.8.0/restartLogstash.sh /data/ELK/logstash-6.8.0/restartLogstash.sh

启动Logstash服务并验证:

[elk@localhost ELK]# sh /data/ELK/logstash-6.8.0/restartLogstash.sh

服务启动后,在/data/ELK/logstash-6.8.0/logs文件夹下查看日志文件console.out,如果日志文件输出:Successfully started Logstash API endpoint,说明logstash服务启动成功。

 

六、文件服务器软件安装

1、安装前准备

确定应用服务器上大容量磁盘的挂载路径,本章节下述步骤将以/data目录作为软件安装目录

确定各应用服务的端口,保证同一服务器上的服务端口不会冲突,端口列表参考如下:

服务名建议端口备注

apm-agentlog8082

apm-python-collector9002

apm-python-filesync9003

apm-python-translator9001

本章下述步骤将以root用户进行服务搭建及启动操作

使用FTP工具,使用root用户将本文档同目录的APM-File文件夹及其子文件拷贝至应用服务器的/data目录

在本文档示例中,使用/data/logs作为文件服务器的日志存储目录,因此还需要创建目录。

[root@localhost ~]# mkdir /data/logs

注意:Filebeat安装版本需与上一章节ELK Stack安装版本一致。

 

2、JDK1.8安装

使用root用户登录天象文件服务器

验证是否已安装JDK1.8:[root@localhost ~]# java -version

如果已安装,则跳过本小节后续步骤。否则,继续。

解压jdk安装文件:

[root@localhost ~]# tar -zxvf /data/APM-File/APM-File-installer/jdk-8u144-linux-x64.tar.gz -C /data/APM-File

配置命令:

编辑/etc/profile:[root@localhost ~]# vi /etc/profile

按下Insert或i进入编辑模式,在文件尾部增加如下配置:

export JAVA_HOME=/data/APM-File/jdk1.8.0_144

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JRE_HOME=$JAVA_HOME/jre

Esc退出编辑,输入:wq保存并退出。

重新执行初始化文件,立即生效:

[root@localhost ~]# vi /etc/profile

验证命令:[root@localhost ~]# java -version

 

3、Python2.7升级

使用root用户登录天象文件服务器

验证是否已升级Python2.7:[root@localhost ~]# Python -V

如果结果为Python2.6.x或更低版本,则执行下列步骤:

解压Python2.7安装文件:

[root@localhost ~]# cd /data/APM-File/

[root@localhost APM-File]# tar -zxvf APM-File-installer/Python-2.7.14.tgz -C ./

[root@localhost APM-File]# cd Python-2.7.14/

执行配置检查命令:[root@localhost Python-2.7.14]# ./configure

执行构建及安装命令:[root@localhost Python-2.7.14]# make && make install

安装完成执行命令验证:[root@localhost Python-2.7.14]# /usr/local/bin/python2.7 -V

备份原版本软链接:[root@localhost Python-2.7.14]# mv /usr/bin/python /usr/bin/python2.6.6

创建新版本python软链接:

[root@localhost Python-2.7.14]# ln -s /usr/local/bin/python2.7 /usr/bin/python

执行命令进行验证:[root@localhost Python-2.7.14]# python -V

注意:如果是CentOS操作系统,因为CentOS下的yum命令依赖2.6,因此还需调整yum启动脚本,操作如下:

编辑yum命令文件:[root@localhost Python-2.7.14]# vi /usr/bin/yum

按下Insert或i进入编辑模式,将文件第一行的#!/usr/bin/python调整为#!/usr/bin/python2.6.6

按下Esc退出编辑,输入:wq保存并退出

至此,Python2.7升级完成。

 

4、Python第三方插件安装

安装setuptools:

[root@localhost Python-2.7.14]# cd /data/APM-File/APM-File-installer/

[root@localhost APM-File-installer]# tar -zxvf setuptools-40.2.0.tar.gz

[root@localhost APM-File-installer]# cd setuptools-40.2.0/

[root@localhost setuptools-40.2.0]# python setup.py install

安装pip:

[root@localhost setuptools-40.2.0]# cd /data/APM-File/APM-File-installer/

[root@localhost APM-File-installer]# tar -zxvf pip-9.0.1.tar.gz

[root@localhost APM-File-installer]# cd pip-9.0.1/

[root@localhost pip-9.0.1]# python setup.py.install

安装ptyprocess:

[root@localhost pip-9.0.1]# cd /data/APM-File/APM-File-installer/

[root@localhost APM-File-installer]# cd /data/APM-File/APM-File-installer/

[root@localhost APM-File-installer]# pip install ptyprocess-0.6.0-py2.py3-none-any.whl

安装pexpect:

[root@localhost APM-File-installer]# pip install pexpect-4.7.0-py2.py3-none-any.whl

安装pytz:

[root@localhost APM-File-installer]# pip install pytz-2019.1-py2.py3-none-any.whl

安装Django:

[root@localhost APM-File-installer]# pip install Django-1.11.20-py2.py3-none-any.whl

安装天象通用依赖:

[root@localhost APM-File-installer]# pip install mapp-3.1.0-py2-none-any.whl

验证是否已安装sqlite3,输入python命令进入python解释器:

[root@localhost ~]# python

>>> import sqlite3

回车后如果报错:Import Error: No module named_sqlite3,则执行如下步骤:

首先推出python解释器:>>> exit()

查找sqlite3.so:[root@localhost ~]# find / -name _sqlite*.so

查找python2.7:[root@localhost ~]# whereis python2.7

拷贝python2.6的sqlite3.so至python2.7安装目录:

[root@localhost ~]# cp /usr/lib64/python2.6/lib-dynload/_sqlite3.so /usr/local/lib/python2.7/lib-dynload/_sqlite3.so

然后在python解释器import sqlite3进行验证。

 

5、安装Filebeat(5.6.15)

若使用6.8.0版本ELK Stack,跳过此步骤。

解压Filebeat:

[root@localhost ~]# cd /data/APM-File/

[root@localhost APM-File]# tar -zxvf APM-File-installer/filebeat-5.6.15-linux-x86_64.tar.gz -C ./

创建Filebeat数据及日志目录:

[root@localhost APM-File]# mkdir /data/APM-File/filebeat-5.6.15-linux-x86_64/data

[root@localhost APM-File]# mkdir /data/APM-File/filebeat-5.6.15-linux-x86_64/logs

更新Filebeat配置:

[root@localhost APM-File]# cp /data/APM-File/APM-File-Template/5.6.15/filebeat_config/filebeat.yml /data/APM-File/filebeat-5.6.15-linux-x86_64/filebeat.yml

编辑filebeat.yml配置,127.0.0.1:5045全局替换为Logstash服务的IP:port

添加Filebeat启动脚本:

[root@localhost APM-File]# cp /data/APM-File/APM-File-Template/restartFilebeat5.6.15.sh /data/APM-File/filebeat-5.6.15-linux-x86_64/restartFilebeat.sh

启动Filebeat并验证:

[root@localhost APM-File]# sh /data/APM-File/filebeat-5.6.15-linux-x86_64/restartFilebeat.sh

服务启动后,在/data/APM/filebeat-5.6.15-linux-x86_64/logs文件夹下查看日志文件。

 

6、安装Filebeat(6.8.0)

若使用5.6.0版本ELK Stack,跳过此步骤。

解压Filebeat:

[root@localhost ~]# cd /data/APM-File/

[root@localhost APM-File]# tar -zxvf APM-File-installer/filebeat-6.8.0-linux-x86_64.tar.gz -C ./

创建Filebeat数据及日志目录:

[root@localhost APM-File]# mkdir /data/APM-File/filebeat-6.8.0-linux-x86_64/data

[root@localhost APM-File]# mkdir /data/APM-File/filebeat-6.8.0-linux-x86_64/logs

更新Filebeat配置:

[root@localhost APM-File]# cp /data/APM-File/APM-File-Template/6.8.0/filebeat_config/filebeat.yml /data/APM-File/filebeat-6.8.0-linux-x86_64/filebeat.yml

编辑filebeat.yml配置,127.0.0.1:5045全局替换为Logstash服务的IP:port,如:10.51.150.43:5045,127.0.0.1:5601全局替换为Kibana服务的IP:port,如:10.51.150.43:5601

添加Filebeat启动脚本:

[root@localhost APM-File]# cp /data/APM-File/APM-File-Template/restartFilebeat6.8.0.sh /data/APM-File/filebeat-6.8.0-linux-x86_64/restartFilebeat.sh

启动Filebeat并验证:

[root@localhost APM-File]# sh /data/APM-File/filebeat-6.8.0-linux-x86_64/restartFilebeat.sh

服务启动后,在/data/APM/filebeat-6.8.0-linux-x86_64/logs文件夹下查看日志文件。

 

7、启动apm-agentlog

修改启动脚本(调整apm-agentlog服务的注册中心配置);

[root@localhost ~]# vi /data/APM-File/apm-agentlog/restartAgentlog.sh

按下Insert或i进入编辑模式,调整如下JVM参数:

mapp.serviceRegisterUrl,调整为第三章第五节部署的Eureka注册中心地址

调整后,Esc退出编辑,:wq保存

启动apm-agentlog:

[root@localhost ~]# sh /data/APM-File/apm-agentlog/restartAgentlog.sh

访问第三章第五节搭建的Eureka注册中心服务,此时服务列表中有NECP.APM.AGENTLOG服务实例,说明apm-agentlog服务成功注册到Eureka注册中心

 

8、天象文件同步配置

由于在天象文件服务器上时使用/data/logs目录作为登录天象可视化服务(第四章),在配置中心里配置文件同步本地路径为/data/logs

 

9、启动apm-python-collector

修改启动脚本(调整apm-python-collector服务的注册中心配置);

[root@localhost ~]# vi /data/APM-File/apm-python-collector/restartPyCollector.sh

将http://127.0.0.1:9081/调整为第三章第五节搭建的天象Eureka注册中心地址

启动apm-python:

[root@localhost ~]# cd /data/APM-File/apm-python-collector/

[root@localhost ~]# sh restartPyCollector.sh

访问第三章第五节搭建的Eureka注册中心服务,此时服务列表中有NECP.APM.PYCOLLECTOR服务实例,说明apm-python-collector服务成功注册到Eureka注册中心

也可以访问apm-python-collector日志查看日志同步与指标采集情况:/data/APM-File/apm-python-collector/logs

10、启动apm-python-filesync

修改启动脚本(调整apm-python-filesync服务的注册中心配置);

[root@localhost ~]# vi /data/APM-File/apm-python-filesync/restartFileSync.sh

将http://127.0.0.1:9081/调整为第三章第五节搭建的天象Eureka注册中心地址

启动apm-python:

[root@localhost ~]# cd /data/APM-File/apm-python-filesync/

[root@localhost ~]# sh restartFileSync.sh

访问第三章第五节搭建的Eureka注册中心服务,此时服务列表中有NECP.APM.PYFILESYNC服务实例,说明apm-python-filesync服务成功注册到Eureka注册中心

也可以访问apm-python-filesync日志查看日志同步与指标采集情况:/data/APM-File/apm-python-filesync/logs

11、启动apm-python-translator

修改启动脚本(调整apm-python-translator服务的注册中心配置);

[root@localhost ~]# vi /data/APM-File/apm-python-translator/restartPyTranslator.sh

将http://127.0.0.1:9081/调整为第三章第五节搭建的天象Eureka注册中心地址

启动apm-python:

[root@localhost ~]# cd /data/APM-File/apm-python-translator/

[root@localhost ~]# sh restartTranslator.sh

访问第三章第五节搭建的Eureka注册中心服务,此时服务列表中有NECP.APM.PYTRANSLATOR服务实例,说明apm-python-translator服务成功注册到Eureka注册中心

也可以访问apm-python-translator日志查看日志同步与指标采集情况:/data/APM-File/apm-python-translator/logs

 

七、天象探针安装

参考本文档同目录的《天象探针部署(Linux&监控单体应用).docx》文档即可

 

八、天象服务验证

1、登录天象可视化服务

2、在配置中心配置单体架构系统

3、在监控中心配置ElasticSearch服务节点、文件同步配置(本地文件存储路径:/data/logs)、Prometheus服务配置

4、等待数分钟后,监控中心会有对应数据。

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值