一、安装 elasticsearch
1、下载
cd /usr/local/src
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.0-linux-x86_64.tar.gz
2、解压
tar -zxvf elasticsearch-7.0.0-linux-x86_64.tar.gz
mv elasticsearch-7.0.0 /usr/local/elasticsearch
cd /usr/local/elasticsearch/
3、创建启动用户并更改权限
useradd elasticsearch
chown -R elasticsearch:elasticsearch /usr/local/elasticsearch
4、配置文件
vi config/elasticsearch.yml
# 集群名称
cluster.name: rubis
# 节点名称
node.name: node-1
# 数据文件与日志文件存放目录
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
# 网络设置
network.host: 0.0.0.0
http.port: 9200
# 集群设置
cluster.initial_master_nodes: ["node-1"]
5、创建数据和日志所在文件夹
mkdir /var/lib/elasticsearch
mkdir /var/log/elasticsearch
chown elasticsearch:elasticsearch /var/lib/elasticsearch/
chown elasticsearch:elasticsearch /var/log/elasticsearch/
6、系统相关设置
vi /etc/security/limits.conf
# 最后一行加入
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
-----------------------------------------
vi /etc/sysctl.conf
# 最后一行加入
vm.max_map_count=262144
# 立即生效
sysctl -p
-----------------------------------------
# 防火墙
vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9200 -j ACCEPT
7、启动
su elasticsearch
# 后台启动
cd /usr/local/elasticsearch/bin/
./elasticsearch -d
8、访问
http://192.168.2.109:9200
![CentOS 7 安装 Elasticsearch Kibana Logstash SkyWalking_elasticsearch](//dev-img.mos.moduyun.com/20231024/81c37d81-f07c-48c1-b274-053413e309fc.png)
二、安装 kibana
1、下载
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.0.0-linux-x86_64.tar.gz
2、解压
tar -zxvf kibana-7.0.0-linux-x86_64.tar.gz
mv kibana-7.0.0-linux-x86_64 /usr/local/kibana
cd /usr/local/kibana/
3、配置文件
vi config/kibana.yml
server.port: 5601
server.host: "192.168.2.109"
elasticsearch.hosts: ["http://192.168.2.109:9200"]
logging.dest: /var/log/kibana/kibana.log
i18n.locale: "zh-CN"
# 创建 日志目录
mkdir /var/log/kibana
4、配置防火墙
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5601 -j ACCEPT
5、启动
cd /usr/local/kibana/bin
nohup ./kibana > /dev/null 2>&1 &
6、访问
http://192.168.2.109:5601/
![CentOS 7 安装 Elasticsearch Kibana Logstash SkyWalking_java_02](//dev-img.mos.moduyun.com/20231024/5ac2ffed-bacc-440d-a522-e686de60e1fd.png)
三、安装 Logstash
1、下载
https://artifacts.elastic.co/downloads/logstash/logstash-7.6.0.tar.gz
2、解压
tar -zxvf logstash-7.6.0.tar.gz
mv logstash-7.6.0 /usr/local/logstash
cd /usr/local/logstash
3、配置文件
vi config/logstash.yml
# 加入配置文件
path.config: /usr/local/logstash/config/logstash.conf
vi config/logstash.conf
# 修改内容
input {
# 系统日志
file {
path => [ "/var/log/messages" ]
type => "system"
start_position => "beginning"
}
# nginx 日志
file {
path => [ "/var/log/nginx/access.log" ]
type => "nginx"
start_position => "beginning"
}
}
output {
if [type] == "system" {
elasticsearch {
hosts => ["192.168.2.106:9200"]
index => "system-%{+YYYY.MM.dd}"
}
}
if [type] == "nginx" {
elasticsearch {
hosts => ["192.168.2.106:9200"]
index => "nginx-%{+YYYY.MM.dd}"
}
}
}
4、启动
5、查看
![CentOS 7 安装 Elasticsearch Kibana Logstash SkyWalking_java_03](//dev-img.mos.moduyun.com/20231024/5768b3b7-6c63-4bf9-95b4-228dadfe5e79.png)
6、创建 索引模式 nginx*
![CentOS 7 安装 Elasticsearch Kibana Logstash SkyWalking_java_04](//dev-img.mos.moduyun.com/20231024/1c57fe7f-c5d9-4587-a496-0d2a5a4e9748.png)
7、第 2 步,同步创建 system*
![CentOS 7 安装 Elasticsearch Kibana Logstash SkyWalking_elasticsearch_05](//dev-img.mos.moduyun.com/20231024/7de87dbb-3b1a-4ddf-8166-f030eada6e02.png)
8、查看 数据
![CentOS 7 安装 Elasticsearch Kibana Logstash SkyWalking_elasticsearch_06](//dev-img.mos.moduyun.com/20231024/1ffc1b10-b719-46f4-89dc-d4d5c78056c6.png)
四、安装 skywalking
1、下载
wget https://www.apache.org/dyn/closer.cgi/skywalking/6.6.0/apache-skywalking-apm-es7-6.6.0.tar.gz
2、解压
tar -zxvf apache-skywalking-apm-es7-6.6.0.tar.gz
mv apache-skywalking-apm-bin-es7 /usr/local/skywalking
cd /usr/local/skywalking
3、配置文件
vi config/application.yml
# 修改内容
# 默认以 h2 作为数据源,注释 h2,开启 es 作为数据库
# nameSpace 为 elasticsearch 配置的 cluster.name
elasticsearch7:
nameSpace: ${SW_NAMESPACE:"rubis"}
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}
protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
trustStorePath: ${SW_SW_STORAGE_ES_SSL_JKS_PATH:"../es_keystore.jks"}
trustStorePass: ${SW_SW_STORAGE_ES_SSL_JKS_PASS:""}
user: ${SW_ES_USER:""}
password: ${SW_ES_PASSWORD:""}
indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2}
indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}
# Those data TTL settings will override the same settings in core module.
recordDataTTL: ${SW_STORAGE_ES_RECORD_DATA_TTL:7} # Unit is day
otherMetricsDataTTL: ${SW_STORAGE_ES_OTHER_METRIC_DATA_TTL:45} # Unit is day
monthMetricsDataTTL: ${SW_STORAGE_ES_MONTH_METRIC_DATA_TTL:18} # Unit is month
# Batch process setting, refer to https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.5/java-docs-bulk-processor.html
bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:1000} # Execute the bulk every 1000 requests
flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:10} # flush the bulk every 10 seconds whatever the number of requests
concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2} # the number of concurrent requests
resultWindowMaxSize: ${SW_STORAGE_ES_QUERY_MAX_WINDOW_SIZE:10000}
metadataQueryMaxSize: ${SW_STORAGE_ES_QUERY_MAX_SIZE:5000}
segmentQueryMaxSize: ${SW_STORAGE_ES_QUERY_SEGMENT_SIZE:200}
# h2:
# driver: ${SW_STORAGE_H2_DRIVER:org.h2.jdbcx.JdbcDataSource}
# url: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db}
# user: ${SW_STORAGE_H2_USER:sa}
# metadataQueryMaxSize: ${SW_STORAGE_H2_QUERY_MAX_SIZE:5000}
4、修改 webapp 配置文件 listOfServers:192.168.2.109:12800
vi webapp/webapp.yml
server:
port: 8080
collector:
path: /graphql
ribbon:
ReadTimeout: 10000
# Point to all backend's restHost:restPort, split by ,
listOfServers: 192.168.2.109:12800
5、开启防火墙
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
6、启动
7、日志文件
# 查看 elasticsearch 是否连接成功,不报错
tail -f /usr/local/skywalking/logs/oap.log
# 查看 skywalking 日志
tail -f /usr/local/skywalking/logs/skywalking-oap-server.log
# webapp 的日志
tail -f /usr/local/skywalking/logs/webapp.log
7、启动成功
![CentOS 7 安装 Elasticsearch Kibana Logstash SkyWalking_java_07](//dev-img.mos.moduyun.com/20231024/1d53be9a-239c-4e41-9604-3704b25c8bb3.png)
8、agent 客户端使用,准备一台虚拟机:192.168.2.104
# 拷贝 agent 目录到 客户端
scp -r root@192.168.2.109:/usr/local/skywalking/agent /java
cd /java
# 查看当前目录的文件
[root@CentOS7-1 java]# ll
drwxr-xr-x 8 root root 143 Feb 14 20:21 agent
-rw-r--r-- 1 root root 35012580 Feb 14 20:18 rubis-0.0.1-SNAPSHOT.jar
# 编辑配置文件
vi agent/config/agent.config
#修改如下
# 应用名称,当前代理的应用名称,用于UI界面分类和展示
agent.service_name=${SW_AGENT_NAME:spring_boot}
# 收集器的地址,设置为192.168.2.109
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.2.109:11800}
# 设置防火墙
-A INPUT -p tcp -m state --state NEW -m tcp --dport 12800 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 11800 -j ACCEPT
# 启动 agent 与 测试应用(spring_boot)
java -javaagent:agent/skywalking-agent.jar -jar rubis-0.0.1-SNAPSHOT.jar &
9、查看
![CentOS 7 安装 Elasticsearch Kibana Logstash SkyWalking_elasticsearch_08](//dev-img.mos.moduyun.com/20231024/ff8e54e5-6f17-46bd-9e71-e612ec88e885.png)