SolarWinds Logs
Acesse e visualize logs do SolarWinds Observability.
Documentação
Servidor MCP SolarWinds Logs
Um servidor Model Context Protocol (MCP) para acessar e visualizar logs do SolarWinds Observability.
Nota -
Este servidor está atualmente incompleto, pois não suporta busca de dados estruturados (uma limitação da API REST?). Não tenho certeza se também é necessário aceitar um data center para usar nas chamadas de endpoint da API. Vou abordar ambos quando o tempo permitir (precisei disso para um problema real de trabalho, tenho que corrigir isso primeiro)
Ferramentas
search_logs
Busca logs do SolarWinds Observability com filtros opcionais
- Aceita parâmetros de busca, incluindo filtro, intervalo de tempo e opções de paginação
- Retorna entradas de log formatadas com timestamps, hostnames e mensagens
- Suporta filtros avançados por grupo, entidade e mais
- Intervalo de busca padrão: últimas 24 horas
visualize_logs
Gera uma resposta JSON de histograma para eventos de log
- Formatado para Claude e representações em canvas
- Intervalos de tempo configuráveis (minuto, hora, dia)
- Suporta fusos horários UTC ou locais
- Filtros de consulta e intervalos de tempo personalizáveis
- Intervalo de visualização padrão: últimas 24 horas
Recursos
Busca de Logs SolarWinds
- Template de URI:
solarwinds://{query}/search - Retorna entradas de log que correspondem à consulta especificada
- Exemplo:
solarwinds://error/search
Instalação
Opcionalmente, instale via npm:
npm install -g mcp-solarwinds
Ou clone e compile a partir do código-fonte:
git clone https://github.com/@jakenuts/mcp-solarwinds.git
cd mcp-solarwinds
npm install
npm run build
Ou apenas use npx nas suas configurações
Para a Extensão Cline do VSCode
Adicione ao %APPDATA%/Code - Insiders/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json:
{
"mcpServers": {
"solarwinds": {
"command": "npx",
"args": ["-y", "mcp-solarwinds"],
"env": {
"SOLARWINDS_API_TOKEN": "your-api-token"
},
"autoApprove": ["search_logs", "visualize_logs"]
}
}
}
Para o Claude Desktop
Adicione ao arquivo de configuração apropriado:
Windows: %APPDATA%/Claude/claude_desktop_config.json
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"solarwinds": {
"command": "npx",
"args": ["-y", "mcp-solarwinds"],
"env": {
"SOLARWINDS_API_TOKEN": "your-api-token"
}
}
}
}
Configuração Especial para Windows
Se você encontrar o problema ENOENT spawn npx no Windows, use esta configuração alternativa que especifica os caminhos completos:
{
"mcpServers": {
"solarwinds": {
"command": "C:\\Users\\[username]\\AppData\\Roaming\\nvm\\[node-version]\\node.exe",
"args": [
"C:\\Users\\[username]\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npx-cli.js",
"-y",
"mcp-solarwinds"
],
"env": {
"SOLARWINDS_API_TOKEN": "your-api-token"
}
}
}
}
Configuração
O servidor MCP SolarWinds Observability requer um token de API para autenticar com a API do SolarWinds Observability.
Métodos de Configuração
Existem várias maneiras de fornecer o token de API:
- Configuração de Configurações MCP (Recomendado): Configure o token no seu arquivo de configurações MCP
- Variável de Ambiente: Defina a variável de ambiente
SOLARWINDS_API_TOKEN - Arquivo .env Local (Para Testes): Crie um arquivo
.envna raiz do projeto comSOLARWINDS_API_TOKEN=your-token
Para testes locais, você pode:
- Copiar
.env.examplepara.enve adicionar seu token - Executar o script de exemplo:
node examples/local-test.js
Exemplos de Uso das Ferramentas
search_logs
Busca básica:
{
"filter": "error"
}
Busca avançada com intervalo de tempo e paginação:
{
"filter": "error",
"entityId": "web-server",
"startTime": "2025-03-01T00:00:00Z",
"endTime": "2025-03-05T23:59:59Z",
"pageSize": 100,
"direction": "backward"
}
visualize_logs
Histograma básico (gráfico ASCII):
{
"filter": "error",
"interval": "hour"
}
Visualização avançada (gráfico ASCII):
{
"filter": "error",
"entityId": "web-server",
"startTime": "2025-03-01T00:00:00Z",
"endTime": "2025-03-05T23:59:59Z",
"interval": "day",
"use_utc": true
}
Visualização Claude (formato JSON):
{
"filter": "error",
"interval": "hour",
"format": "json"
}
O formato JSON retorna dados que o Claude pode visualizar como um gráfico:
{
"timeRanges": ["12:02", "12:03", "12:04", "12:05", "12:06", "12:07", "12:08", "12:09"],
"counts": [261, 47, 48, 48, 31, 262, 270, 33],
"total": 1000,
"queryParams": {
"query": "error",
"startTime": "2025-03-05T00:00:00.000Z",
"endTime": "2025-03-05T23:59:59.000Z"
}
}
Desenvolvimento
Instale as dependências:
npm install
Compile o servidor:
npm run build
Depuração
Como os servidores MCP se comunicam via stdio, a depuração pode ser desafiadora. O MCP Inspector fornece ferramentas úteis de depuração:
npm run debug:inspector
Isso fornecerá uma URL para acessar o inspector no seu navegador, onde você pode:
- Visualizar todas as mensagens MCP
- Inspecionar payloads de requisição/resposta
- Testar ferramentas interativamente
- Monitorar o estado do servidor
Para testes locais sem o framework MCP:
# Create a .env file with your token
cp .env.example .env
# Edit .env to add your token
# Run the example script
node examples/local-test.js
Detalhes Técnicos
- Construído com TypeScript e o SDK MCP
- Usa axios para comunicação com a API
- Suporta formatos de data ISO 8601 para intervalos de tempo
- Gera histogramas ASCII para visualização de logs
- Intervalo de busca padrão: últimas 24 horas
- Tamanho de página padrão: 50 logs
- Suporta múltiplos métodos de autenticação