一、环境要求
elasticsearch6.7(自行安装这里略过)
系统:Centos7.4
下载安装包:https://github.com/apache/skywalking/archive/v6.5.0.tar.gz
二、安装
2.1 解压:
tar -xf apache-skywalking-apm-bin.tar.gz
mv apache-skywalking-apm-bin /usr/local/skywalking
2.2 修改配置文件:
cd /usr/local/skywalking/config
备份一下:
cp application.yml application.yml.bak
cat application.yml,修改完的配置文件如下
cluster:
standalone:
core:
default:
# Mixed: Receive agent data, Level 1 aggregate, Level 2 aggregate
# Receiver: Receive agent data, Level 1 aggregate
# Aggregator: Level 2 aggregate
role: ${SW_CORE_ROLE:Mixed} # Mixed/Receiver/Aggregator
restHost: ${SW_CORE_REST_HOST:0.0.0.0}
restPort: ${SW_CORE_REST_PORT:12800}
restContextPath: ${SW_CORE_REST_CONTEXT_PATH:/}
gRPCHost: ${SW_CORE_GRPC_HOST:0.0.0.0}
gRPCPort: ${SW_CORE_GRPC_PORT:11800}
downsampling:
- Hour
- Day
- Month
# Set a timeout on metrics data. After the timeout has expired, the metrics data will automatically be deleted.
enableDataKeeperExecutor: ${SW_CORE_ENABLE_DATA_KEEPER_EXECUTOR:true} # Turn it off then automatically metrics data delete will be close.
dataKeeperExecutePeriod: ${SW_CORE_DATA_KEEPER_EXECUTE_PERIOD:5} # How often the data keeper executor runs periodically, unit is minute
recordDataTTL: ${SW_CORE_RECORD_DATA_TTL:90} # Unit is minute
minuteMetricsDataTTL: ${SW_CORE_MINUTE_METRIC_DATA_TTL:90} # Unit is minute
hourMetricsDataTTL: ${SW_CORE_HOUR_METRIC_DATA_TTL:36} # Unit is hour
dayMetricsDataTTL: ${SW_CORE_DAY_METRIC_DATA_TTL:45} # Unit is day
monthMetricsDataTTL: ${SW_CORE_MONTH_METRIC_DATA_TTL:18} # Unit is month
# Cache metric data for 1 minute to reduce database queries, and if the OAP cluster changes within that minute,
# the metrics may not be accurate within that minute.
enableDatabaseSession: ${SW_CORE_ENABLE_DATABASE_SESSION:true}
storage:
elasticsearch:
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.1.87:9200} #配置为自己的es地址
indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2}
indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}
bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:4000} # Execute the bulk every 1000 requests
bulkSize: ${SW_STORAGE_ES_BULK_SIZE:40} # Execute the bulk every 1000 requests
flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:20} # flush the bulk every 10 seconds whatever the number of requests
concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:4} # the number of concurrent requests
receiver-sharing-server:
default:
receiver-register:
default:
receiver-trace:
default:
bufferPath: ${SW_RECEIVER_BUFFER_PATH:…/trace-buffer/} # Path to trace buffer files, suggest to use absolute path
bufferOffsetMaxFileSize: ${SW_RECEIVER_BUFFER_OFFSET_MAX_FILE_SIZE:100} # Unit is MB
bufferDataMaxFileSize: ${SW_RECEIVER_BUFFER_DATA_MAX_FILE_SIZE:500} # Unit is MB
bufferFileCleanWhenRestart: ${SW_RECEIVER_BUFFER_FILE_CLEAN_WHEN_RESTART:false}
sampleRate: ${SW_TRACE_SAMPLE_RATE:10000} # The sample rate precision is 1/10000. 10000 means 100% sample in default.
slowDBAccessThreshold: ${SW_SLOW_DB_THRESHOLD:default:200,mongodb:100} # The slow database access thresholds. Unit ms.
receiver-jvm:
default:
receiver-clr:
default:
service-mesh:
default:
bufferPath: ${SW_SERVICE_MESH_BUFFER_PATH:…/mesh-buffer/} # Path to trace buffer files, suggest to use absolute path
bufferOffsetMaxFileSize: ${SW_SERVICE_MESH_OFFSET_MAX_FILE_SIZE:100} # Unit is MB
bufferDataMaxFileSize: ${SW_SERVICE_MESH_BUFFER_DATA_MAX_FILE_SIZE:500} # Unit is MB
bufferFileCleanWhenRestart: ${SW_SERVICE_MESH_BUFFER_FILE_CLEAN_WHEN_RESTART:false}
istio-telemetry:
default:
envoy-metric:
default:
query:
graphql:
path: ${SW_QUERY_GRAPHQL_PATH:/graphql}
alarm:
default:
telemetry:
none:
configuration:
none:
三、启动服务:
先检查端口是否被占用:
netstat -tnlp | grep 8080
netstat -tnlp | grep 12800
netstat -tnlp | grep 11800
如果没有被占用,直接启动服务
sh /usr/local/skywalking/bin/startup.sh
四、监控java的应用
4.1 拷贝/usr/local/skywalking/agent这个目录文件到需要监控的应用目录下,修改配置文件
cd /usr/local/skywalking/agent/config/
cat agent.config | grep -v “^#” | grep -v "^
"
c
o
l
l
e
c
t
o
r
.
b
a
c
k
e
n
d
s
e
r
v
i
c
e
=
" collector.backend_service=
"collector.backendservice={SW_AGENT_COLLECTOR_BACKEND_SERVICES:127.0.0.1:11800} #skywalking服务IP
logging.file_name=
S
W
L
O
G
G
I
N
G
F
I
L
E
N
A
M
E
:
s
k
y
w
a
l
k
i
n
g
−
a
p
i
.
l
o
g
l
o
g
g
i
n
g
.
l
e
v
e
l
=
{SW_LOGGING_FILE_NAME:skywalking-api.log} logging.level=
SWLOGGINGFILENAME:skywalking−api.loglogging.level={SW_LOGGING_LEVEL:DEBUG}
其他都是注释
4.2 启动java服务添加启动参数: -javaagent:/sie/sieIOT/agent/skywalking-agent.jar -Dskywalking.agent.service_name=xx.jarxx
如:
java -javaagent:/usr/local/skywalking/agent/skywalking-agent.jar -Dskywalking.agent.service_name=x’x1.0.jar -jar -Xms256m -Xmx256m -XX:PermSize=1024M -XX:MaxPermSize=1024m xx.jar
1、问题:
如果8080端口被占用:
需要修改配置文件:/usr/local/skywalking/webapp/webapp.yml即可