docker logstash

2217 단어 dockerlogstashelk
docker 미러 다운로드
docker pull docker.elastic.co/logstash/logstash:6.6.2

폴더 만들기(컨테이너 파일 마운트에 사용)
mkdir /opt/sns/logstash/config

관련 프로파일 생성
다음 파일을/opt/sns/logstash/config 아래에 놓으십시오
logstash.yml(빈 파일이면 됨)
log4j2.properties
logger.elasticsearchoutput.name = logstash.outputs.elasticsearch
logger.elasticsearchoutput.level = debug

pipelines.yml
- pipeline.id: my-logstash
  path.config: "/usr/share/logstash/config/*.conf"
  pipeline.workers: 3

*.conf 파일
input {
    jdbc {
      jdbc_connection_string => "jdbc:mysql://***.***.***.***:3306/***?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&failOverReadOnly=false&serverTimezone=GMT%2B8"
      jdbc_user => "****"
      jdbc_password => "*****"
      jdbc_driver_library => "/usr/share/logstash/config/mysql-connector-java.jar"
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      jdbc_paging_enabled => "true"
      jdbc_page_size => "5000"

      use_column_value => true
      tracking_column => "sid"
      record_last_run => true
	  lowercase_column_names => "false"
      last_run_metadata_path => "/usr/share/logstash/config/*****_last.txt"
      

      statement => "select *
					from **** table
					where table.sid > :sql_last_value
					ORDER BY table.sid"
      schedule => "* * * * *"
      type => "TYPE_NAME"
    }
}

output {
    
    if[type] == "TYPE_NAME"{
        elasticsearch {
      		hosts => ["***.***.***.***:9200"]
      		index => "***"
      		document_type => "TYPE_NAME"
      		document_id => "%{sid}"
   			}   
    }
	
}

만약 conf 파일에서 위에서 연결 데이터베이스를 사용해야 한다면 jdbc 패키지가 필요합니다.jdbc 패키지를 마운트된/opt/sns/logstash/config 아래에 놓을 수 있습니다
컨테이너 생성 및 시작
docker run -d --name logstash --network host --restart=always -it -v /opt/sns/logstash/config:/usr/share/logstash/config  docker.elastic.co/logstash/logstash:6.6.2

좋은 웹페이지 즐겨찾기