Banco de Dados
PostgresSQL Monitoramento métricas
Vamos subir o postgresql utilizando docker para termos um banco de dados de maneira rapida
docker run -d \
--name postgresql \
-p 5432:5432 \
-e POSTGRES_PASSWORD=mysecretpassword \
postgres
Legal! Temos um postgresql, agora vamos conectar no banco usando o Dbeaver
Pronto, precisamos criar um usuário que será usado pelo receiver do postgresql, para fazer as querys de coleta das métricas.
CREATE USER signozmonitoring WITH PASSWORD 'mysecretpassword';
GRANT pg_monitor TO signozmonitoring;
GRANT SELECT ON pg_stat_database TO signozmonitoring;
Maravilha com o usuário criado, podemos criar nossa configuração do otel collector. E como também vamos colectar os logs do posgresql
vim otel-config.yaml

docker run -d --name otel-collector -v /home/ubuntu/otel-config.yaml:/etc/otelcol-contrib/config.yaml otel/opentelemetry-collector-contrib:0.121.0
Funcionou! Já estamos coletando as métricas do banco de dados. Agora vamos ao nosso dashbaord

Legal! Conseguimos monitorar nosso primeiro banco de dados deste módulo. Na sequencia vamos aos logs do postgresql.
PostgresSQL Monitoramento Logs
Caso seu postgresql esteja rodando em docker ou kubernetes, já sabemos como coletar os logs.
Caso seu postgresql esteja instalado diretamente no host. Podemos colectar os logs utilizando filelog

MongoDB monitoramento Métricas
Vamos subir o mongodb utilizando docker para termos um banco de dados de maneira rapida
docker run --name mongodb -p 27017:27017 -d -e MONGODB_INITDB_ROOT_PASSWORD="mysecretpassword" -e MONGODB_INITDB_ROOT_USERNAME="root" mongodb/mongodb-community-server:latest
Legal mongodb disponível. Agora vamos criar o usuário mongo que irá coletar as nossas métricas.
docker exec -it my-mongo mongosh -u root -p mysecretpassword --authenticationDatabase admin --eval '
db.getSiblingDB("admin").createUser({
user: "signozmonitoring",
pwd: "mysecretpassword",
roles: [ { role: "clusterMonitor", db: "admin" } ]
});
'
Agora vamos configurar o otel collector
vim otel-config.yaml

docker run -d --name otel-collector -v /home/ubuntu/otel-config.yaml:/etc/otelcol-contrib/config.yaml otel/opentelemetry-collector-contrib:0.121.0
Maravilha métricas do mongo já estao sendo enviadas ao signoz. Agora vamos ao nosso dashboard

MongoDB monitoramento logs
Caso seu MongoDB esteja rodando em docker ou kubernetes, já sabemos como coletar os logs.
Caso seu MongoDB esteja instalado diretamente no host. Podemos colectar os logs utilizando filelog

Redis monitoramento métricas
Vamos subir o redis utilizando docker para termos um banco de dados de maneira rapida
docker run --name redis -p 6379:6379 -d redis
Redis rodando, agora podemos editar nosso arquivo de configuração.
vim otel-config.yaml

docker run -d --name otel-collector -v /home/ubuntu/otel-config.yaml:/etc/otelcol-contrib/config.yaml otel/opentelemetry-collector-contrib:0.121.0
Aee! Redis sendo monitorado pelo signoz. Agora vamos fazer o downlaod do nosso dashboards exclusivo

Redis monitoramento logs
Caso seu Redis esteja rodando em docker ou kubernetes, já sabemos como coletar os logs.
Caso seu Redis esteja instalado diretamente no host. Podemos colectar os logs utilizando filelog
MySQL monitoramento
Vamos subir o mysql utilizando docker para termos um banco de dados de maneira rapida
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mysecretpassword mysql
Agora vamos configurar o otel collector
vim otel-config.yaml
Vamos ao nosso dashboards

E sucesso, mysql monitorado
MemCached monitoramento
Vamos subir o memcached utilizando docker para termos um banco de dados de maneira rapida
docker run --name memcached -p 11211:11211 -d memcached
memcached rodando, agora podemos editar nosso arquivo de configuração.
vim otel-config.yaml

docker run -d --name otel-collector -v /home/ubuntu/otel-config.yaml:/etc/otelcol-contrib/config.yaml otel/opentelemetry-collector-contrib:0.121.0
Sucesso! Métricas do memcached sendo coletadas com sucesso. Então vamos ao nosso dashboard exclusivo

Kafka monitoramento
Vamos subir o kafka utilizando docker para termos um banco de dados de maneira rapida
docker run -d \
--name broker \
-p 9092:9092 \
-p 10167:10167 \
-e KAFKA_NODE_ID=1 \
-e KAFKA_PROCESS_ROLES=broker,controller \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092,CONTROLLER://localhost:9093 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.3.221:9092,CONTROLLER://localhost:9093 \
-e KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER \
-e KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT \
-e KAFKA_CONTROLLER_QUORUM_VOTERS=1@localhost:9093 \
-e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 \
-e KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=1 \
-e KAFKA_TRANSACTION_STATE_LOG_MIN_ISR=1 \
-e KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS=0 \
-e KAFKA_NUM_PARTITIONS=3 \
-e JMX_PORT=10167 \
-e KAFKA_JMX_OPTS="-Djava.rmi.server.hostname=192.168.3.221 -Dcom.sun.management.jmxremote.rmi.port=10167 -Dcom.sun.management.jmxremote.port=10167
-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote" \
apache/kafka:latest
Para acessar nosso kafka vamos usar o kafka-ui
docker run -it -d --name kafka-ui -p 8080:8080 -e DYNAMIC_CONFIG_ENABLED=true provectuslabs/kafka-ui
Nosso coletor precisa do Java para coletar as métricas jmx
Entamos vamos instala-lo
sudo apt install default-jre
Legal, agora configura o otel collector
vim otel-config.yaml

maravilha! Demos o primeiro passo algumas métricas do kafka e da JVM estão sendo enviads ao SigNoz.
Para uma observabiliadde completa vamos monitorar apps consumidoras e produtoras feitas em Java.

Sucesso!! Temos uma observabilidade completa para o kafka.
RabbitMQ monitoramento
Vamos subir o rabbitmq utilizando docker para termos um banco de dados de maneira rapida
docker run -d -p 15672:15672 -p 5672:5672 --name rabbitmq -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=mysecretpassword rabbitmq:3-management
Vamos acessar o rabbitmq management utilizando a porta 15672
Legal, agora podemos configurar o nosso otel-collector.
vim otel-config.yaml

docker run -d --name otel-collector -v /home/ubuntu/otel-config.yaml:/etc/otelcol-contrib/config.yaml otel/opentelemetry-collector-contrib:0.121.0
Sucesso! Otel collector pegando as métricas do rabbitmq. Então vamos ao nosso dashboard.
