Skip to content

DaviDupin/InstrucoesMS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

InstrucoesMS

Guia de preparação do ambiente para a criação de painéis de visualização no Kibana, utilizados no projeto GIAPS, integrado ao Ministério da Saúde.

  • É preciso observar, ao seguir os seguintes passos, que o arquivo ".csv" é essencial nesse procedimento e, por razões de confidencialidade, não está exposto nesse readme.

  • Altere a rota do arquivo ao configurar o arquivo ".conf".

Topicos

IndexMS

  • Análises aqui sobre um processo prático para restaurar um índice localmente, porém, por questões de modelo de infra local, o melhor é fazer a carga a partir de um CSV.
  • É importante que mantenham o nome do índice igual ao nome do arquivo (status_implantacao_prontuario_eletronico_municipio), e também o envio do padrão de criação do índice (mapping) para preservar o campo georrefenciado - centróide do municipío.
  • Este índice tem em torno de 183 mil linhas(documentos) e o CSV em anexo possui o header com o nome dos campos. Por ser um CSV, os campos q são do tipo texto estão quotados ("").
  • O método de carga utilizado para o índice é usando logstash, configurando um arquivo do tipo pipeline. Após a carga, para conferência e estudo do dado, e um exemplo do painel a ser construído no kibana como exercício.

Docker

  • Utilização de containers para subir localmente o ElasticSearch e o Kibana
  • Versao Utilizada: 7.4.2
  • Disponiveis no arquivo docker-compose.yml
version: '3.0'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
    container_name: elasticsearchMS
    environment:
      - discovery.type=single-node
    volumes:
      - MS_kibana:/usr/share/elasticsearch/data
    ports:
      - "9200:9200"

  kibana:
    image: docker.elastic.co/kibana/kibana:7.4.2
    environment:
      SERVER_NAME: kibana.example.org
      ELASTICSEARCH_URL: http://localhost:9200
    ports:
      - "5601:5601"
volumes:
  MS_kibana:
  • Com o Docker Compose instalado na maquina, via linha de terminal executar
docker-compose up

Kibana

Usando a ferrametnta Dev Tools do Kibana, é bem simples criar o índice, conforme o print acima Para este índice, segue abaixo o modelo de criação com PUT

DELETE status_implantacao_prontuario_eletronico_municipio

GET status_implantacao_prontuario_eletronico_municipio

PUT status_implantacao_prontuario_eletronico_municipio
{
  "mappings": {
    "properties": {
      "pt_municipio": {
        "type": "geo_point"
      }
    }
  }
}

Implementação

  • Configuração do Arquivo .conf
input {
  file {
    #Caminho do CSV 
    path => "/home/higor/Documents/Index/status_implantacao_prontuario_eletronico_municipio.csv"
    start_position => "beginning"
    sincedb_path => "/dev/null"
    codec => multiline {
      pattern => "^(\d){6};"
      negate => true
      what => "previous"
      auto_flush_interval => 1
    }
  }
}
filter {
  csv {
    #Colunas Presentes no CSV
    columns => [ "id","ano","ano_mes","co_mes","co_municipio_ibge","co_uf_ibge","municipio","sg_uf","situacao_implantacao_cenario1","situacao_implantacao_cenario2","sg_mes","mes_ano","qtde","data_competencia","pt_municipio","co_regiao_ibge","regiao_ibge","tipologia_ibge_mun","uf"]
    skip_header => true
    separator => ";"
  }

  mutate {
    #Formato das tabelas
    convert => {
      "id" => "integer"
      "ano" => "integer"
      "ano_mes" => "integer"
      "co_mes" => "integer"
      "co_municipio_ibge" => "integer"
      "co_uf_ibge" => "integer"
      "municipio" => "string"
      "sg_uf" => "string"
      "situacao_implantacao_cenario1" => "string"
      "situacao_implantacao_cenario2" => "string"
      "sg_mes" => "string"
      "mes_ano" => "string"
      "qtde" => "integer"
      "data_competencia" => "string"
      "co_regiao_ibge" => "integer"
      "regiao_ibge" => "string"
      "tipologia_ibge_mun" => "string"
      "uf" => "string"
    }
  }

  mutate {
  remove_field => [ "message", "path", "host" ]
  }
}
output {
    stdout { codec => dots }
    
    stdout { codec => rubydebug }

    elasticsearch {
     hosts => ["localhost:9200"]
     index => "status_implantacao_prontuario_eletronico_municipio"
    }
}
  • Rodar o LogStash com o conf relacionada com a tabela CSV desejada.
bin/logstash -f log_municipio.conf

⬆ Subir para o Topo

About

Guia de preparação do ambiente para a criação de painéis de visualização no Kibana, utilizados no projeto GIAPS, integrado ao Ministério da Saúde.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors