使用Skywalking 监控dotnet core应用程序

工具

  • Skywalking
  • SkyAPM

安装Mysql 8.0.19

前往mysql网站下载 RPM Bundle包,下载地址:https://dev.mysql.com/downloads/mysql/

-rw-r--r--. 1 root root  43126424 Dec 10 20:59 mysql-community-client-8.0.19-1.el7.x86_64.rpm
-rw-r--r--. 1 root root    619248 Dec 10 20:59 mysql-community-common-8.0.19-1.el7.x86_64.rpm
-rw-r--r--. 1 root root   7421828 Dec 10 20:59 mysql-community-devel-8.0.19-1.el7.x86_64.rpm
-rw-r--r--. 1 root root  23691824 Dec 10 20:59 mysql-community-embedded-compat-8.0.19-1.el7.x86_64.rpm
-rw-r--r--. 1 root root   4212908 Dec 10 20:59 mysql-community-libs-8.0.19-1.el7.x86_64.rpm
-rw-r--r--. 1 root root   1365572 Dec 10 20:59 mysql-community-libs-compat-8.0.19-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 457272180 Dec 10 21:00 mysql-community-server-8.0.19-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 227581052 Dec 10 21:01 mysql-community-test-8.0.19-1.el7.x86_64.rpm

安装Mysql

使用rpm -ivh命令逐一安装

rpm -ivh mysql-community-common-8.0.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.19-1.el7.x86_64.rpm
rpv -ivh mysql-community-client-8.0.19-1.el7.x86_64.rpm
rpv -ivh mysql-community-server-8.0.19-1.el7.x86_64.rpm

注意,安装前请卸载原有的mariadb,删除旧的mysql文件(如有重要文件请备份),8.x和5.x文件不兼容

yum remove mariadb -y
rm -rf /var/lib/mysql

启动 mysql

systemctl start mysqld
systemctl enable mysqld
systemctl daemon-reload

查询初始密码

grep 'temporary password' /var/log/mysqld.log

用初始密码登录

mysql -u root -p

修改密码,必须满足密码复杂度(数字、大小写字母、符号)

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456Abc$';

创建数据库

create database sw_log;

数据库准备到此结束。

安装Skywalking

1、下载 SkywalkingBinary Distribution tar压缩包。下载地址:http://skywalking.apache.org/downloads/

2、上传到服务器 /home

3、解压文件

tar -zxvf apache-skywalking-apm-xxxxx

4、文件夹改名

mv apache-skywalking-apm-xxxxx skywalking

5、修改存储方式为mysql

vim /home/skywalking/config/application.yml

修改storage节如下

storage:
  selector: ${SW_STORAGE:mysql}

修改mysql节配置

  mysql:
    properties:
      jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/sw_log"}
      dataSource.user: ${SW_DATA_SOURCE_USER:root}
      dataSource.password: ${SW_DATA_SOURCE_PASSWORD:123456Abc$}

6、初始化 Collector

cd /home/skywalking/bin/
./oapServiceInit.sh

启动collector服务

./oapService.sh

启动web服务

cd /home/skywalking/bin
./webappService.sh

稍后通过http://ip:8080进入

Web应用配置

Windows 环境中,需要设置如下环境变量

set ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyAPM.Agent.AspNetCore
set SKYWALKING__SERVICENAME=iMudWeb

Linux环境中,需要设置如下环境变量

dotnet add package SkyAPM.Agent.AspNetCore
export ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyAPM.Agent.AspNetCore
export SKYWALKING__SERVICENAME=iMudWeb

开发时,安装CLI工具生成skyapm.json文件

dotnet tool install -g SkyAPM.DotNet.CLI

dotnet tool install SkyAPM.DotNet.CLI --tool-path ./

生成文件指令

dotnet skyapm config iMudWeb 10.10.10.121:11800
或
dotnet-skyapm config sample_app 10.10.10.121:11800