número de versión
Skywalking: v8.3.0
Estructura del proyecto
El componente de skywalking que se utiliza actualmente en el proyecto consta de tres partes
skywalking-oap
El componente principal de recopilación de enlaces de Skywalking se utiliza para recopilar información de enlaces en el sistema.
skywalking-ui
Skywalking muestra principalmente componentes y proporciona una interfaz de usuario para ver varios enlaces e información de parámetros.
agente-skywalking
El método de acceso de cliente proporcionado por skywalking utiliza tecnología de sonda para integrarse en el cliente sin intrusiones, recopilar la información del enlace en el cliente y enviarla a la oap.
Tenga en cuenta que Elasticsearch debe instalarse antes de la instalación; de lo contrario, la instalación no podrá realizarse correctamente.
El proceso de instalación de Elasticsearch es el siguiente:
https://blog.csdn.net/xulong5000/article/details/113625357
El primer método de instalación: implementación de máquina virtual
Proporcionar
skywalking-oap
|skywalking-ui
método de implementación.
* Descargue la versión apropiada del paquete comprimido, descargue la dirección (si usa elasticsearch7 o superior para almacenar datos, necesita descargar el paquete de instalación correspondiente a la versión es7)
wget https://mirror.bit.edu.cn/apache/skywalking/8.3.0/apache-skywalking-apm-es7-8.3.0.tar.gz
Ingrese al directorio del programa después de la descompresión
tar -xvf apache-skywalking-apm-es7-8.3.0.tar.gz
cd apache-skywalking-apm-bin-es7 /
Modificar el archivo de configuración
vim config / application.yml
Configuración de almacenamiento de datos
Si el selector especifica una versión de elasticsearch7 o superior, el paquete de instalación debe usar la versión de elasticsearch7; de lo contrario, se informará un error al iniciar.
Aquí se utiliza el almacenamiento ES7 y se deben especificar la dirección y el nombre del nodo
\ Si usa otro almacenamiento de base de datos (MySQL / H2, etc.), necesita modificar la base de datos especificada por la etiqueta de selección y la configuración correspondiente
Utilice la configuración predeterminada para el resto de la configuración y ajústela si es necesario
Empieza a caminar por el cielo
bin / startup.sh
El navegador abre el puerto 8080 y se inicia correctamente.
El segundo método de instalación: implementación de la ventana acoplable (recomendado) Razón recomendada: este método es simple y fácil de entender
Proporcionar
skywalking-oap
|skywalking-ui
método de implementación.
Configurar el entorno de Docker
Instalar ventana acoplable
yum install -y docker
Instalar docker-compose
yum install -y docker-compose
Iniciar ventana acoplable
systemctl start docker
Tire del espejo
dirección espejo skywalking-oap-server (si usa elasticsearch7 o superior para almacenar datos, necesita extraer el espejo correspondiente a la versión es7)
docker pull apache/skywalking-oap-server:8.3.0-es7
dirección espejo skywalking-ui
docker pull apache/skywalking-ui:8.3.0
Método de inicio
Comience con el comando docker
Inicie skywalking-oap-server
docker run --name oap --restart always -d -p 11800: 11800 -p 12800: 12800 -e SW_STORAGE = elasticsearch7 -e SW_STORAGE_ES_CLUSTER_NODES = 172.16.5.33: 9200 apache / skywalking-oap-server: 8.3.0-es7
Explicación: La frase anterior: "Oap" significa recopilar la información del enlace en el sistema, es decir, obtener los datos en el ES y almacenarlos. y entonces
-e SW_STORAGE = elasticsearch7 -e SW_STORAGE_ES_CLUSTER_NODES = 172.16.5.33: 9200
Esta oración coincide con el ES instalado previamente y, por lo general, solo debe modificarse: 172.16.5.33:9200, la dirección IP es la dirección del servidor y el número de puerto es el número de puerto configurado en el archivo de configuración de ES yml.
El número de puerto aquí.
El primer 11800 es el número de puerto externo de oap, que es el número de puerto donde se necesita oap. Es decir, el registro de datos debe enviarse a oap en el proyecto java, y luego oap se almacena en ES
El segundo 11800 es el número de puerto en el contenedor.
El primer 12800 es el número de puerto vinculado a la interfaz de usuario siguiente. El -e SW_OAP_ADDRESS = 172.16.5.33: 12800 en la interfaz de usuario siguiente es el número de puerto.
El segundo 12800 es el número de puerto del propio contenedor.
172.16.5.33: 9200 Esta es la dirección de acceso de ES, ip + número de puerto
Iniciar skywalking-ui
docker run --name ui --restart always -d -p 8080: 8080 -e SW_OAP_ADDRESS = 172.16.5.33: 12800 apache / skywalking-ui: 8.3.0
Descripción:
El primer 8080 es el número de puerto para acceso externo. Por ejemplo, para acceder a skywalking, puede usar 172.16.5.33: 8080. Por supuesto, el número de puerto se puede configurar como el otro número de puerto que usé en el servidor para verificar 8001
El segundo 8080 es el número de puerto del contenedor interno de la ventana acoplable
172.16.5.33: 12800 es la dirección del oap instalado anteriormente y su número de puerto. Los dos middlewares aquí están instalados en el mismo servidor, por lo que la dirección IP es la misma, pero también se pueden instalar por separado.
Ver el estado del contenedor
docker ps -a
El tercer método de instalación es usar la orquestación de contenedores de Docker: use el comando docker-compose para comenzar (recomendado)
Debajo de cualquier carpeta, cree un archivo, el archivo es docker-compose.yml
Edite el archivo docker-compose.yml
versión 2'
servicios:
oap:
imagen: 'docker.io/apache/skywalking-oap-server:8.3.0-es7'
nombre_contenedor: 'skywalking-oap-server'
puertos:
- '11800: 11800'
- '12800: 12800'
reiniciar: siempre
medio ambiente:
- SW_STORAGE = elasticsearch7
- SW_STORAGE_ES_CLUSTER_NODES = 172.16.5.33: 9200
- TZ = Asia / Shanghai
ui:
imagen: 'docker.io/apache/skywalking-ui:8.3.0'
nombre_contenedor: 'skywalking-ui'
puertos: - '8080: 8080'
reiniciar: siempre
medio ambiente:
- SW_OAP_ADDRESS = 172.16.5.31: 12800 - TZ = Asia / Shanghái
puesta en marcha
docker-compose up -d
Ver el estado de inicio del contenedor
docker-compose ps
Después de que la instalación sea exitosa, abra la dirección de la interfaz de usuario, puede ver la interfaz
Referencia de cliente
El cliente skywalking-agent
envía la información del enlace introduciendo el módulo. Para el uso específico, consulte las instrucciones del agente de Skywalking .
problema comun
Fragmentación insuficiente
El siguiente mensaje de error aparece después de que ES se ejecuta durante un período de tiempo
La razón es que la fragmentación predeterminada de ES7 es 1000, que se puede /_cluster/settings
ajustar manualmente a través de la interfaz
{
"transitorio":
{
"grupo":
{
"max_shards_per_node": 10000
}
}
}