āĻā§āĻŽāĻŋāĻāĻž
āĻ āĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ˛āĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ° āĻ¸āĻŽā§āĻŽā§āĻā§āĻ¨ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽāĨ¤ āĻāĻāĻ˛āĻā§ āĻ¯āĻ¨ā§āĻ¤ā§āĻ° āĻšāĻŋāĻ¸ā§āĻŦā§ āĻŦā§āĻā§ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻāĻ āĻ¸ā§āĻā§āĻ¯āĻžāĻ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ āĻāĻŋāĻā§āĻāĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻŦā§āĨ¤
āĻāĻŽāĻ°āĻž āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻˇāĻŽāĻ¤āĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ˛āĻā§āĻˇā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻŋ āĻ¨āĻž, āĻ¤āĻŦā§ āĻāĻŽāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŋāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§ āĻŽāĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻāĻ°āĻ¤ā§ āĻāĻžāĻāĨ¤ āĻāĻāĻŋ āĻāĻ āĻāĻžāĻ°āĻŖā§ āĻ¯ā§ āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻāĻŦāĻ āĻ°ā§āĻĄāĻŋāĻŽā§āĻĄ āĻāĻŽā§āĻ āĻ¸āĻš, āĻ¸ā§āĻāĻžāĻ¨ā§ āĻĒā§āĻ°āĻā§āĻ° āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ°āĻ¯āĻŧā§āĻā§, āĻ
āĻ¨ā§āĻ¤āĻ¤ āĻāĻŽāĻ°āĻž āĻ¸ā§āĻā§āĻ˛āĻŋ āĻā§āĻāĻā§ āĻĒā§āĻ¯āĻŧā§āĻāĻŋāĨ¤
āĻāĻŽāĻ°āĻž āĻĄāĻāĻžāĻ°-āĻāĻŽā§āĻĒā§āĻā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻ¤āĻžāĻāĻžāĻĄāĻŧāĻž, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻžāĻā§ āĻāĻāĻāĻŋ āĻāĻžāĻ˛-āĻ˛āĻŋāĻāĻŋāĻ¤ docker-compose.yml āĻāĻŋāĻ˛ āĻ¯āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻā§āĻ¨āĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻžāĻĄāĻŧāĻžāĻ āĻ¸ā§āĻā§āĻ¯āĻžāĻ āĻŦāĻžāĻĄāĻŧāĻžāĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻžāĻā§ āĻŽāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¯ā§ āĻŦāĻŋāĻāĻ¯āĻŧ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻāĻžāĻāĻžāĻāĻžāĻāĻŋ āĻāĻŋāĻ˛, āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻžāĻ¨āĻžāĻ¨āĻ¸āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋāĻā§ āĻāĻŋāĻā§āĻāĻž āĻŽā§āĻāĻĄāĻŧ āĻĻā§āĻŦ āĻāĻŦāĻ āĻāĻāĻŋāĻāĨ¤
āĻĻā§āĻ°ā§āĻāĻžāĻā§āĻ¯āĻŦāĻļāĻ¤, āĻāĻŽāĻžāĻĻā§āĻ° āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĨā§āĻā§ āĻ˛āĻ āĻā§āĻ°āĻšāĻŖ āĻāĻŦāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻŋāĻāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻˇā§āĻāĻž āĻŦā§āĻ¯āĻžāĻ āĻĨā§āĻā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¸āĻĢāĻ˛ āĻšāĻ¯āĻŧāĻ¨āĻŋāĨ¤ āĻ āĻ¤āĻāĻŦ, āĻāĻŽāĻ°āĻž āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋ āĻ¯ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻ˛āĻžāĻĻāĻžāĻāĻžāĻŦā§ āĻ āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨ āĻāĻ°āĻž āĻŽā§āĻ˛ā§āĻ¯āĻŦāĻžāĻ¨, āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻāĻ¯ā§āĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻĢāĻŋāĻ°ā§ āĻ¯āĻžāĻ¨āĨ¤
āĻ¤āĻžāĻšāĻ˛ā§ logstash āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻāĻ°āĻž āĻ¯āĻžāĻāĨ¤
āĻĒāĻ°āĻŋāĻŦā§āĻļ, āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž, āĻāĻāĻāĻŋ āĻ§āĻžāĻ°āĻ āĻŽāĻ§ā§āĻ¯ā§ Logstash āĻāĻ˛āĻŽāĻžāĻ¨
āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻ°āĻž āĻĄāĻāĻžāĻ°-āĻāĻŽā§āĻĒā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ, āĻāĻāĻžāĻ¨ā§ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻā§āĻ˛āĻŋ MacOS āĻāĻŦāĻ āĻāĻŦā§āĻ¨ā§āĻā§ 18.0.4 āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤
āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¸āĻ˛ docker-compose.yml-āĻ āĻ¯ā§ logstash āĻāĻŋāĻ¤ā§āĻ°āĻāĻŋ āĻāĻŋāĻ˛ āĻ¤āĻž āĻšāĻ˛ docker.elastic.co/logstash/logstash:6.3.2
āĻāĻŽāĻ°āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž-āĻ¨āĻŋāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦāĨ¤
logstash āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ docker-compose.yml āĻ˛āĻŋāĻā§āĻāĻŋāĨ¤ āĻ āĻŦāĻļā§āĻ¯āĻ, āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻĨā§āĻā§ āĻāĻŋāĻ¤ā§āĻ°āĻāĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦ āĻāĻŋāĻ˛, āĻ¤āĻŦā§ āĻ¸āĻ°ā§āĻŦā§āĻĒāĻ°āĻŋ, āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻžāĻ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°ā§āĻāĻŋ, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĄāĻāĻžāĻ°-āĻāĻŽā§āĻĒā§āĻ āĻĨā§āĻā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¸āĻāĻā§āĻˇā§āĻĒā§
āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻĨā§āĻā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§āĻĒ, logstash āĻāĻāĻāĻŋ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§āĻ° āĻŽāĻ¤ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻāĻŋ *.conf āĻĢāĻžāĻāĻ˛ āĻŦāĻž āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻŋ pipelines.yml āĻĢāĻžāĻāĻ˛ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻ¯āĻžāĻ° āĻĢāĻ˛ā§, , āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻ˛ .conf āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻŦā§āĨ¤
āĻāĻŽāĻ°āĻž āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻĒāĻĨ āĻ§āĻ°āĻ˛āĻžāĻŽāĨ¤ āĻāĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻžāĻā§ āĻāĻ°āĻ āĻŦāĻšā§āĻŽā§āĻā§ āĻāĻŦāĻ āĻŽāĻžāĻĒāĻ¯ā§āĻā§āĻ¯ āĻŦāĻ˛ā§ āĻŽāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻ
āĻ¤āĻāĻŦ, āĻāĻŽāĻ°āĻž pipelines.yml āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻāĻŋ, āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻāĻŋ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ .conf āĻĢāĻžāĻāĻ˛ āĻ°āĻžāĻāĻŦāĨ¤
āĻ§āĻžāĻ°āĻāĻāĻŋāĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻāĻ°ā§āĻāĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛ āĻ°āĻ¯āĻŧā§āĻā§ - logstash.ymlāĨ¤ āĻāĻŽāĻ°āĻž āĻāĻāĻŋ āĻ¸ā§āĻĒāĻ°ā§āĻļ āĻāĻ°āĻŋ āĻ¨āĻž, āĻāĻŽāĻ°āĻž āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋāĨ¤
āĻ¤āĻžāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻāĻ āĻ¨ āĻšāĻ˛:
āĻāĻĒāĻžāĻ¤āĻ¤, āĻāĻŽāĻ°āĻž āĻ§āĻ°ā§ āĻ¨āĻŋāĻā§āĻāĻŋ āĻ¯ā§ āĻāĻ¨āĻĒā§āĻ āĻĄā§āĻāĻž āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻĒā§āĻ°ā§āĻ 5046-āĻ āĻāĻŋāĻ¸āĻŋāĻĒāĻŋ, āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻĒā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ stdout āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦāĨ¤
āĻāĻāĻžāĻ¨ā§ āĻĒā§āĻ°āĻĨāĻŽ āĻ°āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻžāĻ°āĻŖ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻāĻžāĻ āĻšāĻ˛ā§ āĻ˛āĻā§āĻ āĻāĻ°āĻžāĨ¤
āĻ¤āĻžāĻ āĻāĻŽāĻ°āĻž āĻāĻ docker-compose.yml āĻāĻā§
version: '3'
networks:
elk:
volumes:
elasticsearch:
driver: local
services:
logstash:
container_name: logstash_one_channel
image: docker.elastic.co/logstash/logstash:6.3.2
networks:
- elk
ports:
- 5046:5046
volumes:
- ./config/pipelines.yml:/usr/share/logstash/config/pipelines.yml:ro
- ./config/pipelines:/usr/share/logstash/config/pipelines:ro
āĻāĻŽāĻ°āĻž āĻāĻāĻžāĻ¨ā§ āĻāĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻāĻŋ?
- āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻāĻŦāĻ āĻāĻ˛āĻŋāĻāĻŽāĻā§āĻ˛āĻŋ āĻŽā§āĻ˛ docker-compose.yml āĻĨā§āĻā§ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ (āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĒā§āĻ°ā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻāĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§) āĻāĻŦāĻ āĻāĻŽāĻŋ āĻŽāĻ¨ā§ āĻāĻ°āĻŋ āĻ¯ā§ āĻ¤āĻžāĻ°āĻž āĻāĻāĻžāĻ¨ā§ āĻ¸āĻžāĻŽāĻā§āĻ°āĻŋāĻ āĻāĻŦāĻŋāĻā§ āĻŦā§āĻ¯āĻžāĻĒāĻāĻāĻžāĻŦā§ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻāĻ°ā§ āĻ¨āĻžāĨ¤
- āĻāĻŽāĻ°āĻž docker.elastic.co/logstash/logstash:6.3.2 āĻāĻŋāĻ¤ā§āĻ° āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž (āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž) āĻ˛āĻāĻ¸ā§āĻā§āĻ¯āĻžāĻļ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻāĻāĻŋāĻā§ logstash_one_channel āĻ¨āĻžāĻŽ āĻĻāĻŋāĻāĨ¤
- āĻāĻŽāĻ°āĻž āĻĒā§āĻ°ā§āĻ 5046 āĻāĻ¨āĻā§āĻāĻ¨āĻžāĻ°ā§āĻ° āĻāĻŋāĻ¤āĻ°ā§, āĻāĻāĻ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻĒā§āĻ°ā§āĻā§ āĻĢāĻ°ā§āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻ°āĻāĻŋāĨ¤
- āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° ./config/pipelines.yml āĻĒāĻžāĻāĻĒ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛āĻāĻŋāĻā§ āĻĒāĻžāĻ¤ā§āĻ°ā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ /usr/share/logstash/config/pipelines.yml āĻĢāĻžāĻāĻ˛ā§ āĻŽā§āĻ¯āĻžāĻĒ āĻāĻ°āĻŋ, āĻ¯ā§āĻāĻžāĻ¨ā§ logstash āĻāĻāĻŋāĻā§ āĻ¤ā§āĻ˛ā§ āĻ¨ā§āĻŦā§ āĻāĻŦāĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻ āĻ¨āĻ¯ā§āĻā§āĻ¯ āĻāĻ°ā§ āĻ¤ā§āĻ˛āĻŦā§āĨ¤
- āĻāĻŽāĻ°āĻž ./config/pipelines āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻā§ āĻŽā§āĻ¯āĻžāĻĒ āĻāĻ°āĻŋ, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒāĻžāĻāĻĒ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛ āĻāĻā§, /usr/share/logstash/config/pipelines āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻ āĻ¨āĻ¯ā§āĻā§āĻ¯ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§āĨ¤
piping.yml āĻĢāĻžāĻāĻ˛
- pipeline.id: HABR
pipeline.workers: 1
pipeline.batch.size: 1
path.config: "./config/pipelines/habr_pipeline.conf"
āĻāĻāĻŋ HABR āĻļāĻ¨āĻžāĻā§āĻ¤āĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛ āĻāĻŦāĻ āĻāĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻĒāĻĨ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°ā§āĨ¤
āĻāĻŦāĻ āĻ āĻŦāĻļā§āĻˇā§ āĻĢāĻžāĻāĻ˛ "./config/pipelines/habr_pipeline.conf"
input {
tcp {
port => "5046"
}
}
filter {
mutate {
add_field => [ "habra_field", "Hello Habr" ]
}
}
output {
stdout {
}
}
āĻāĻŽāĻ°āĻž āĻāĻĒāĻžāĻ¤āĻ¤ āĻāĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ¯āĻŧ āĻ¯āĻžāĻŦ āĻ¨āĻž, āĻāĻŽāĻ°āĻž āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŋ:
docker-compose up
āĻāĻŽāĻ°āĻž āĻāĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻāĻŋ?
āĻĒāĻžāĻ¤ā§āĻ° āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻŽāĻ°āĻž āĻāĻ° āĻāĻžāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ:
echo '13123123123123123123123213123213' | nc localhost 5046
āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ:
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§, āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ:
logstash_one_channel | [2019-04-29T11:28:59,790][ERROR][logstash.licensechecker.licensereader] āĻ˛āĻžāĻāĻ¸ā§āĻ¨ā§āĻ¸ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻĨā§āĻā§ āĻ˛āĻžāĻāĻ¸ā§āĻ¨ā§āĻ¸ā§āĻ° āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻāĻ°āĻ¤ā§ āĻ āĻā§āĻˇāĻŽ {:message=>"Elasticsearch āĻĒā§āĻāĻāĻžāĻ¨ā§ āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž: [http://elasticsearch:9200/][Manticore ::āĻ°ā§āĻā§āĻ˛āĻŋāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž]āĻāĻ˛āĻžāĻ¸ā§āĻāĻŋāĻ āĻ¸āĻžāĻ°ā§āĻ",...
logstash_one_channel | [2019-04-29T11:28:59,894][INFO ][logstash.pipeline ] āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ āĻ¸āĻĢāĻ˛āĻāĻžāĻŦā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§āĻā§ {:pipeline_id=>".monitoring-logstash", :thread=>"# Âģ}
logstash_one_channel | [2019-04-29T11:28:59,988][INFO [logstash.agent ] āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ āĻāĻ˛āĻā§ {:count=>2, :running_pipelines=>[:HABR, :."monitoring-logstash"], :non_running_pipelines=>[ ]}
logstash_one_channel | [2019-04-29T11:29:00,015][ERROR][logstash.inputs.metrics ] X-Pack Logstash-āĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻāĻā§ āĻāĻŋāĻ¨ā§āĻ¤ā§ Elasticsearch-āĻ āĻ¨āĻ¯āĻŧāĨ¤ āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻ˛āĻžāĻ¸ā§āĻāĻŋāĻāĻ¸āĻžāĻ°ā§āĻā§ X-āĻĒā§āĻ¯āĻžāĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨āĨ¤ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§.
logstash_one_channel | [2019-04-29T11:29:00,526][INFO [logstash.agent ] Logstash API āĻļā§āĻˇ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ {:port=>9600} āĻ¸āĻĢāĻ˛āĻāĻžāĻŦā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§āĻā§
logstash_one_channel | [2019-04-29T11:29:04,478][INFO [logstash.outputs.elasticsearch] āĻāĻāĻāĻŋ āĻāĻ˛āĻžāĻ¸ā§āĻāĻŋāĻāĻ¸āĻžāĻ°ā§āĻ āĻ¸āĻāĻ¯ā§āĻ āĻāĻžāĻ āĻāĻ°āĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻĻā§āĻāĻ¤ā§ āĻ¸ā§āĻŦāĻžāĻ¸ā§āĻĨā§āĻ¯ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻā§āĻā§ {:healthcheck_url=>http://elasticsearch:9200/, :path=> "/"}
logstash_one_channel | [2019-04-29T11:29:04,487][WARN [logstash.outputs.elasticsearch] āĻŽā§āĻ¤ ES āĻāĻĻāĻžāĻšāĻ°āĻŖā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻĒā§āĻ¨āĻ°ā§āĻ¤ā§āĻĨāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻĒā§āĻ¯āĻŧā§āĻā§āĨ¤ {:url=>"
logstash_one_channel | [2019-04-29T11:29:04,704][INFO ][logstash.licensechecker.licensereader] āĻāĻāĻāĻŋ āĻāĻ˛āĻžāĻ¸ā§āĻāĻŋāĻāĻ¸āĻžāĻ°ā§āĻ āĻ¸āĻāĻ¯ā§āĻ āĻāĻžāĻ āĻāĻ°āĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻĻā§āĻāĻ¤ā§ āĻ¸ā§āĻŦāĻžāĻ¸ā§āĻĨā§āĻ¯ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻā§āĻā§ {:healthcheck_url=>http://elasticsearch:9200/, :path=> "/"}
logstash_one_channel | [2019-04-29T11:29:04,710][WARN [logstash.licensechecker.licensereader] āĻŽā§āĻ¤ ES āĻāĻĻāĻžāĻšāĻ°āĻŖā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻĒā§āĻ¨āĻ°ā§āĻ¤ā§āĻĨāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻĒā§āĻ¯āĻŧā§āĻā§āĨ¤ {:url=>"
āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻ˛āĻ āĻ¸āĻŦ āĻ¸āĻŽāĻ¯āĻŧ āĻā§āĻ°āĻ˛ āĻāĻĒ.
āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻŋ āĻ¸āĻŦā§āĻ āĻ°āĻā§ āĻšāĻžāĻāĻ˛āĻžāĻāĻ āĻāĻ°ā§āĻāĻŋ āĻ¯ā§ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨āĻāĻŋ āĻ¸āĻĢāĻ˛āĻāĻžāĻŦā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§āĻā§, āĻ˛āĻžāĻ˛ āĻ°āĻā§ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻāĻŦāĻ āĻšāĻ˛ā§āĻĻā§ āĻ¯ā§āĻāĻžāĻ¯ā§āĻā§āĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻžāĻ° āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻāĻŋ
āĻāĻŽā§āĻā§ āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ logstash.conf-āĻ āĻāĻ˛āĻžāĻ¸ā§āĻāĻŋāĻ āĻ¸āĻžāĻ°ā§āĻā§āĻ° āĻāĻĒāĻ˛āĻŦā§āĻ§āĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻā§āĻ āĻāĻ°āĻžāĻ° āĻāĻžāĻ°āĻŖā§ āĻāĻāĻŋ āĻāĻā§āĨ¤ āĻ¸āĻ°ā§āĻŦā§āĻĒāĻ°āĻŋ, logstash āĻ
āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻ°ā§ āĻ¯ā§ āĻāĻāĻŋ Elk āĻ¸ā§āĻā§āĻ¯āĻžāĻā§āĻ° āĻ
āĻāĻļ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻāĻāĻŋāĻā§ āĻāĻ˛āĻžāĻĻāĻž āĻāĻ°ā§āĻāĻŋāĨ¤
āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻž āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ āĻ¨āĻ¯āĻŧ.
āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻšāĻ˛ XPACK_MONITORING_ENABLED āĻāĻ¨āĻāĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§āĻ¨ā§āĻ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻ āĻā§āĻāĻāĻŋ āĻ¨āĻŋāĻˇā§āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻžāĨ¤
āĻāĻ¸ā§āĻ¨ docker-compose.yml āĻ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻŦāĻžāĻ° āĻāĻžāĻ˛āĻžāĻ:
version: '3'
networks:
elk:
volumes:
elasticsearch:
driver: local
services:
logstash:
container_name: logstash_one_channel
image: docker.elastic.co/logstash/logstash:6.3.2
networks:
- elk
environment:
XPACK_MONITORING_ENABLED: "false"
ports:
- 5046:5046
volumes:
- ./config/pipelines.yml:/usr/share/logstash/config/pipelines.yml:ro
- ./config/pipelines:/usr/share/logstash/config/pipelines:ro
āĻāĻāĻ¨, āĻ¸āĻŦāĻāĻŋāĻā§ āĻ āĻŋāĻ āĻāĻā§. āĻ§āĻžāĻ°āĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĨ¤
āĻāĻŽāĻ°āĻž āĻ¸āĻāĻ˛āĻā§āĻ¨ āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻāĻŦāĻžāĻ° āĻāĻžāĻāĻĒ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ:
echo '13123123123123123123123213123213' | nc localhost 5046
āĻāĻŦāĻ āĻĻā§āĻā§:
logstash_one_channel | {
logstash_one_channel | "message" => "13123123123123123123123213123213",
logstash_one_channel | "@timestamp" => 2019-04-29T11:43:44.582Z,
logstash_one_channel | "@version" => "1",
logstash_one_channel | "habra_field" => "Hello Habr",
logstash_one_channel | "host" => "gateway",
logstash_one_channel | "port" => 49418
logstash_one_channel | }
āĻāĻāĻāĻŋ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻžāĻ āĻāĻ°ā§āĻ¨
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻŽāĻ°āĻž āĻļā§āĻ°ā§ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ˛āĻāĻ¸ā§āĻā§āĻ¯āĻžāĻļ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻ˛ā§āĻ¨ āĻāĻĒāĻžāĻ¤āĻ¤ pipelines.yml āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻ¸ā§āĻĒāĻ°ā§āĻļ āĻ¨āĻž āĻāĻ°āĻž āĻ¯āĻžāĻ, āĻĻā§āĻāĻž āĻ¯āĻžāĻ āĻāĻāĻāĻŋ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§ āĻāĻžāĻ āĻāĻ°ā§ āĻāĻŽāĻ°āĻž āĻā§ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤
āĻāĻŽāĻžāĻā§ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻŦāĻ˛āĻ¤ā§ āĻšāĻŦā§ āĻ¯ā§ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¨ā§āĻ¤āĻŋāĻāĻŋ āĻāĻāĻžāĻ¨ā§ āĻ
āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻāĻŋāĻ¤ā§ āĻāĻžāĻ˛āĻāĻžāĻŦā§ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ°āĻžāĻļāĻŋāĻ¯āĻŧāĻžāĻ¨ āĻāĻžāĻˇāĻžāĻ¯āĻŧ āĻĒāĻĄāĻŧāĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻŦā§ āĻāĻŽāĻ°āĻž āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋ
āĻāĻ¨āĻĒā§āĻ āĻŦāĻŋāĻāĻžāĻ āĻĨā§āĻā§ āĻā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻāĨ¤ āĻāĻŽāĻ°āĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ tcp āĻāĻ° āĻāĻžāĻ āĻĻā§āĻā§āĻāĻŋāĨ¤ āĻāĻāĻžāĻ¨ā§ āĻāĻ° āĻāĻŋ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§?
āĻšāĻžāĻ°ā§āĻāĻŦāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĻ¨
āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻžāĻ° āĻ¯ā§āĻŽāĻ¨ āĻāĻāĻāĻŋ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻ¸āĻŽā§āĻāĻžāĻŦāĻ¨āĻž āĻāĻā§.
āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ¨āĻĒā§āĻ āĻŦāĻŋāĻāĻžāĻā§ āĻšāĻžāĻ°ā§āĻāĻŦāĻŋāĻ¨ āĻĒā§āĻ˛āĻžāĻāĻāĻ¨ āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
input {
heartbeat {
message => "HeartBeat!"
}
}
āĻāĻŽāĻ°āĻž āĻāĻāĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻŋ, āĻāĻŽāĻ°āĻž āĻāĻ āĻŽāĻŋāĻ¨āĻŋāĻā§ āĻāĻāĻŦāĻžāĻ° āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻ¤ā§ āĻļā§āĻ°ā§ āĻāĻ°āĻŋ
logstash_one_channel | {
logstash_one_channel | "@timestamp" => 2019-04-29T13:52:04.567Z,
logstash_one_channel | "habra_field" => "Hello Habr",
logstash_one_channel | "message" => "HeartBeat!",
logstash_one_channel | "@version" => "1",
logstash_one_channel | "host" => "a0667e5c57ec"
logstash_one_channel | }
āĻāĻŽāĻ°āĻž āĻāĻ°ā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ āĻĒā§āĻ¤ā§ āĻāĻžāĻ, āĻāĻŽāĻžāĻĻā§āĻ° āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻāĻāĻžāĻŦā§ āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋ 10 āĻ¸ā§āĻā§āĻ¨ā§āĻĄā§ āĻāĻāĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒāĻžāĻŦāĨ¤
input {
heartbeat {
message => "HeartBeat!"
interval => 10
}
}
āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻĨā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻāĻ¯āĻŧāĻž
āĻāĻŽāĻ°āĻž āĻĢāĻžāĻāĻ˛ āĻŽā§āĻĄ āĻ¤āĻžāĻāĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§āĻā§. āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸ā§āĻā§āĻˇā§āĻŽ āĻāĻžāĻ āĻāĻ°ā§, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻ¸āĻŽā§āĻāĻŦ āĻ¯ā§ āĻā§āĻ¨āĻ āĻāĻā§āĻ¨ā§āĻā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ, āĻāĻžāĻ˛, āĻ āĻ¨ā§āĻ¤āĻ¤ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯āĨ¤
āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§, āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻŽā§āĻĄ tail -f āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤, i.e. āĻ¨āĻ¤ā§āĻ¨ āĻ˛āĻžāĻāĻ¨ āĻĒāĻĄāĻŧā§ āĻŦāĻž, āĻāĻā§āĻāĻŋāĻāĻāĻžāĻŦā§, āĻĒā§āĻ°ā§ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻĒāĻĄāĻŧā§āĨ¤
āĻ¤āĻžāĻ āĻāĻŽāĻ°āĻž āĻāĻŋ āĻĒā§āĻ¤ā§ āĻāĻžāĻ:
- āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻ˛āĻ āĻĢāĻžāĻāĻ˛ā§ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻž āĻ˛āĻžāĻāĻ¨āĻā§āĻ˛āĻŋ āĻĒā§āĻ¤ā§ āĻāĻžāĻāĨ¤
- āĻāĻŽāĻ°āĻž āĻāĻŽāĻ¨ āĻĄā§āĻāĻž āĻĒā§āĻ¤ā§ āĻāĻžāĻ āĻ¯āĻž āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ˛āĻ āĻĢāĻžāĻāĻ˛ā§ āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧ, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻā§āĻĨāĻž āĻĨā§āĻā§ āĻā§ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¤āĻž āĻāĻ˛āĻžāĻĻāĻž āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽāĨ¤
- āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ āĻ¯ā§ āĻ˛āĻāĻ¸ā§āĻā§āĻ¯āĻžāĻļ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻšāĻ˛ā§, āĻāĻāĻŋ āĻāĻ āĻĄā§āĻāĻž āĻāĻ° āĻĒāĻžāĻŦā§ āĻ¨āĻžāĨ¤
- āĻāĻŽāĻ°āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻāĻžāĻ āĻ¯ā§ āĻ¯āĻĻāĻŋ āĻ˛āĻāĻ¸ā§āĻā§āĻ¯āĻžāĻļ āĻ āĻā§āĻˇāĻŽ āĻāĻ°āĻž āĻĨāĻžāĻā§ āĻāĻŦāĻ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ¤ā§ āĻĄā§āĻāĻž āĻ˛ā§āĻāĻž āĻāĻ˛āĻ¤ā§ āĻĨāĻžāĻā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻ¯āĻāĻ¨ āĻāĻāĻŋ āĻāĻžāĻ˛āĻžāĻŦ, āĻāĻŽāĻ°āĻž āĻāĻ āĻĄā§āĻāĻžāĻāĻŋ āĻĒāĻžāĻŦāĨ¤
āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻĄāĻāĻžāĻ°-compose.yml-āĻ āĻāĻ°āĻ āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻ¯āĻžāĻ, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻ°āĻžāĻāĻŋ āĻ¸ā§āĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻāĻŋ āĻā§āĻ˛ā§āĻ¨āĨ¤
version: '3'
networks:
elk:
volumes:
elasticsearch:
driver: local
services:
logstash:
container_name: logstash_one_channel
image: docker.elastic.co/logstash/logstash:6.3.2
networks:
- elk
environment:
XPACK_MONITORING_ENABLED: "false"
ports:
- 5046:5046
volumes:
- ./config/pipelines.yml:/usr/share/logstash/config/pipelines.yml:ro
- ./config/pipelines:/usr/share/logstash/config/pipelines:ro
- ./logs:/usr/share/logstash/input
āĻāĻŦāĻ habr_pipeline.conf āĻ āĻāĻ¨āĻĒā§āĻ āĻŦāĻŋāĻāĻžāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻ¨
input {
file {
path => "/usr/share/logstash/input/*.log"
}
}
āĻāĻŽāĻ°āĻž āĻļā§āĻ°ā§ āĻāĻ°āĻāĻŋ:
docker-compose up
āĻ˛āĻ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻ˛āĻŋāĻāĻ¤ā§, āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦ:
â¨echo '1' >> logs/number1.log
{
logstash_one_channel | "host" => "ac2d4e3ef70f",
logstash_one_channel | "habra_field" => "Hello Habr",
logstash_one_channel | "@timestamp" => 2019-04-29T14:28:53.876Z,
logstash_one_channel | "@version" => "1",
logstash_one_channel | "message" => "1",
logstash_one_channel | "path" => "/usr/share/logstash/input/number1.log"
logstash_one_channel | }
āĻšā§āĻ¯āĻžāĻ, āĻāĻāĻž āĻāĻžāĻ āĻāĻ°ā§!
āĻāĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§, āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻāĻŋ āĻ¯ā§ āĻāĻŽāĻ°āĻž āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻĒāĻžāĻĨ āĻā§āĻˇā§āĻ¤ā§āĻ° āĻ¯ā§āĻ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§, āĻāĻŽāĻ°āĻž āĻāĻāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ°ā§āĻāĻ°ā§āĻĄāĻā§āĻ˛āĻŋ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦāĨ¤
āĻāĻŦāĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻž āĻ¯āĻžāĻ:
echo '2' >> logs/number1.log
{
logstash_one_channel | "host" => "ac2d4e3ef70f",
logstash_one_channel | "habra_field" => "Hello Habr",
logstash_one_channel | "@timestamp" => 2019-04-29T14:28:59.906Z,
logstash_one_channel | "@version" => "1",
logstash_one_channel | "message" => "2",
logstash_one_channel | "path" => "/usr/share/logstash/input/number1.log"
logstash_one_channel | }
āĻāĻŦāĻ āĻāĻāĻ¨ āĻ āĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻ˛ā§:
echo '1' >> logs/number2.log
{
logstash_one_channel | "host" => "ac2d4e3ef70f",
logstash_one_channel | "habra_field" => "Hello Habr",
logstash_one_channel | "@timestamp" => 2019-04-29T14:29:26.061Z,
logstash_one_channel | "@version" => "1",
logstash_one_channel | "message" => "1",
logstash_one_channel | "path" => "/usr/share/logstash/input/number2.log"
logstash_one_channel | }
āĻĻāĻžāĻ°ā§āĻŖ! āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻ¤ā§āĻ˛āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻĒāĻĨāĻāĻŋ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¸āĻŦāĻāĻŋāĻā§ āĻ āĻŋāĻ āĻāĻā§āĨ¤
āĻ˛āĻāĻ¸ā§āĻā§āĻ¯āĻžāĻļ āĻŦāĻ¨ā§āĻ§ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻ˛ āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻŋ. āĻ¨ā§āĻ°āĻŦāĻ¤āĻžāĨ¤ āĻ¸ā§āĻā§āĻ˛ā§. āĻāĻŽāĻ°āĻž āĻāĻŦāĻžāĻ° āĻāĻ āĻ°ā§āĻāĻ°ā§āĻĄ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻŋ āĻ¨āĻž.
āĻāĻŦāĻ āĻāĻāĻ¨ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻžāĻšāĻ¸ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž.
āĻāĻŽāĻ°āĻž āĻ˛āĻāĻ¸ā§āĻā§āĻ¯āĻžāĻļ āĻ°āĻžāĻāĻŋ āĻāĻŦāĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻŋ:
echo '3' >> logs/number2.log
echo '4' >> logs/number1.log
āĻāĻŦāĻžāĻ° āĻ˛āĻāĻ¸ā§āĻā§āĻ¯āĻžāĻļ āĻāĻžāĻ˛āĻžāĻ¨ āĻāĻŦāĻ āĻĻā§āĻā§āĻ¨:
logstash_one_channel | {
logstash_one_channel | "host" => "ac2d4e3ef70f",
logstash_one_channel | "habra_field" => "Hello Habr",
logstash_one_channel | "message" => "3",
logstash_one_channel | "@version" => "1",
logstash_one_channel | "path" => "/usr/share/logstash/input/number2.log",
logstash_one_channel | "@timestamp" => 2019-04-29T14:48:50.589Z
logstash_one_channel | }
logstash_one_channel | {
logstash_one_channel | "host" => "ac2d4e3ef70f",
logstash_one_channel | "habra_field" => "Hello Habr",
logstash_one_channel | "message" => "4",
logstash_one_channel | "@version" => "1",
logstash_one_channel | "path" => "/usr/share/logstash/input/number1.log",
logstash_one_channel | "@timestamp" => 2019-04-29T14:48:50.856Z
logstash_one_channel | }
āĻšā§āĻ°āĻ°ā§! āĻ¸āĻŦāĻāĻŋāĻā§ āĻ¤ā§āĻ˛ā§ āĻ¨āĻŋāĻ˛āĻžāĻŽāĨ¤
āĻ¤āĻŦā§, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¸āĻ¤āĻ°ā§āĻ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻ¯āĻĻāĻŋ āĻ˛āĻāĻ¸ā§āĻā§āĻ¯āĻžāĻļ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°āĻāĻŋ āĻ¸āĻ°āĻžāĻ¨ā§ āĻšāĻ¯āĻŧ (āĻĄāĻāĻžāĻ° āĻ¸ā§āĻāĻĒ logstash_one_channel && docker rm logstash_one_channel), āĻāĻŋāĻā§āĻ āĻ¤ā§āĻ˛āĻž āĻšāĻŦā§ āĻ¨āĻžāĨ¤ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻāĻŋ āĻĒāĻĄāĻŧāĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°ā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻ¸ā§āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ˛āĻžāĻāĻ¨ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻŦā§āĨ¤
āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĢāĻžāĻāĻ˛ āĻĒāĻĄāĻŧāĻž
āĻ§āĻ°āĻž āĻ¯āĻžāĻ āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽāĻŦāĻžāĻ° logstash āĻāĻžāĻ˛āĻžāĻā§āĻāĻŋ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻ˛āĻ āĻāĻā§ āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻ¸ā§āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻ¤ā§ āĻāĻžāĻāĨ¤
āĻāĻŽāĻ°āĻž āĻāĻĒāĻ°ā§ āĻ¯ā§ āĻāĻ¨āĻĒā§āĻ āĻ
āĻāĻļāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋ āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ˛āĻāĻ¸ā§āĻā§āĻ¯āĻžāĻļ āĻāĻžāĻ˛āĻžāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻāĻŋāĻā§āĻ āĻĒāĻžāĻŦ āĻ¨āĻžāĨ¤ āĻ˛āĻāĻ¸ā§āĻā§āĻ¯āĻžāĻļ āĻĻā§āĻŦāĻžāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ˛āĻžāĻāĻ¨ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻ˛āĻžāĻāĻ¨ āĻāĻžāĻ¨āĻ¤ā§, āĻāĻ¨āĻĒā§āĻ āĻŦāĻŋāĻāĻžāĻā§ āĻāĻāĻāĻŋ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ˛āĻžāĻāĻ¨ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨:
input {
file {
start_position => "beginning"
path => "/usr/share/logstash/input/*.log"
}
}
āĻ¤āĻžāĻāĻžāĻĄāĻŧāĻž, āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻˇā§āĻŽāĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§, āĻāĻāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯āĻž logstash āĻāĻāĻ¨āĻ āĻĻā§āĻā§āĻ¨āĻŋāĨ¤ āĻāĻāĻ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¯āĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻ˛āĻāĻ¸ā§āĻā§āĻ¯āĻžāĻļā§āĻ° āĻĻā§āĻļā§āĻ¯ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻŋāĻ˛, āĻāĻāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻ¤āĻžāĻĻā§āĻ° āĻāĻāĻžāĻ° āĻŽāĻ¨ā§ āĻ°ā§āĻā§āĻā§ āĻāĻŦāĻ āĻāĻāĻ¨ āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ°ā§āĻāĻ°ā§āĻĄ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻŦā§āĨ¤
āĻāĻ¨āĻĒā§āĻ āĻŦāĻŋāĻāĻžāĻ āĻ āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨ āĻāĻ°ā§ āĻāĻāĻŋ āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻž āĻ¯āĻžāĻāĨ¤ āĻāĻ°āĻ āĻ āĻ¨ā§āĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻāĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻžāĻ¤āĻ¤, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻžāĻā§ āĻāĻ°āĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž-āĻ¨āĻŋāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¯āĻĨā§āĻˇā§āĻāĨ¤
āĻ°āĻžāĻāĻāĻŋāĻ āĻāĻŦāĻ āĻĄā§āĻāĻž āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻĢāĻ°āĻŽā§āĻļāĻ¨
āĻāĻ¸ā§āĻ¨ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŋ, āĻ§āĻ°āĻž āĻ¯āĻžāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻžāĻā§ āĻāĻāĻāĻŋ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛ āĻĨā§āĻā§ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§, āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻŋāĻā§ āĻ¤āĻĨā§āĻ¯āĻĒā§āĻ°ā§āĻŖ, āĻāĻŦāĻ āĻāĻŋāĻā§ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĨ¤ āĻ¤āĻžāĻ°āĻž āĻā§āĻ¯āĻžāĻ āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯. āĻāĻŋāĻā§ āĻ¤āĻĨā§āĻ¯, āĻ āĻ¨ā§āĻ¯āĻ°āĻž ERRORā§ˇ
āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ˛āĻžāĻĻāĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§. āĻ¸ā§āĻā§āĻ˛ā§. āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§ āĻ¤āĻĨā§āĻ¯āĻŽā§āĻ˛āĻ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ˛āĻŋāĻāĻŋ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻāĻŋāĻ¤ā§ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ˛āĻŋāĻāĻŋāĨ¤
āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻ¨āĻĒā§āĻ āĻŦāĻŋāĻāĻžāĻ āĻĨā§āĻā§ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻŦāĻ āĻāĻāĻāĻĒā§āĻā§ āĻ¯āĻžāĻ¨āĨ¤
āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻŦāĻŋāĻāĻžāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻāĻŽāĻ°āĻž āĻāĻāĻ¤ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻāĻŋ āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻŦ, āĻāĻāĻŋ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻšā§āĻ¯āĻžāĻļ (āĻā§-āĻŽāĻžāĻ¨ āĻā§āĻĄāĻŧāĻž) āĻĒāĻžāĻŦ, āĻ¯āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻŽāĻ°āĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ, āĻ¯ā§āĻŽāĻ¨ āĻļāĻ°ā§āĻ¤ āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻĒāĻžāĻ°ā§āĻ¸. āĻāĻŦāĻ āĻāĻāĻāĻĒā§āĻ āĻŦāĻŋāĻāĻžāĻā§, āĻāĻŽāĻ°āĻž āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻŦ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋāĻā§ āĻ¤āĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§ āĻĒāĻžāĻ āĻžāĻŦāĨ¤
āĻā§āĻ°ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻĒāĻžāĻ ā§āĻ¯ āĻ˛āĻžāĻāĻ¨ āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ° āĻĨā§āĻā§ āĻā§āĻˇā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻ āĻĒā§āĻ¤ā§, āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻŦāĻŋāĻāĻžāĻā§ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ āĻĒā§āĻ˛āĻžāĻāĻāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§ - āĻā§āĻ°ā§āĻāĨ¤
āĻāĻāĻžāĻ¨ā§ āĻāĻāĻŋāĻ° āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻ˛āĻā§āĻˇā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ¨āĻž āĻāĻ°ā§āĻ (āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻŋ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻāĻŋ
āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ¨āĻĒā§āĻ āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻŽāĻžāĻ° āĻāĻžāĻā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻāĻāĻ°āĻāĻŽ āĻāĻā§:
1 āĻ¤āĻĨā§āĻ¯ āĻŦāĻžāĻ°ā§āĻ¤āĻž1
2 āĻ¤ā§āĻ°ā§āĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž2
āĻ¸ā§āĻā§āĻ˛ā§. āĻļāĻ¨āĻžāĻā§āĻ¤āĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻĨāĻŽā§, āĻ¤āĻžāĻ°āĻĒāĻ° INFO/ERROR, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸ā§āĻĒā§āĻ¸ āĻāĻžāĻĄāĻŧāĻž āĻāĻŋāĻā§ āĻļāĻŦā§āĻĻāĨ¤
āĻāĻ āĻŋāĻ¨ āĻ¨āĻ¯āĻŧ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ¨ā§āĻ¤āĻŋ āĻŦā§āĻāĻ¤ā§ āĻ¯āĻĨā§āĻˇā§āĻāĨ¤
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻŦāĻŋāĻāĻžāĻā§, āĻā§āĻ°ā§āĻ āĻĒā§āĻ˛āĻžāĻāĻāĻ¨ā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻāĻŋ āĻāĻ āĻŽāĻ¤ āĻĻā§āĻāĻžāĻŦā§:
filter {
grok {
match => { "message" => ["%{INT:message_id} %{LOGLEVEL:message_type} %{WORD:message_text}"] }
}
}
āĻŽā§āĻ˛āĻ¤, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻ
āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĨ¤ āĻ°ā§āĻĄāĻŋāĻŽā§āĻĄ āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯ā§āĻŽāĻ¨ INT, LOGLEVEL, WORDāĨ¤ āĻ¤āĻžāĻĻā§āĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻž, āĻ¸ā§āĻāĻ¸āĻžāĻĨā§ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻĻāĻ°ā§āĻļāĻ¨, āĻāĻāĻžāĻ¨ā§ āĻĻā§āĻāĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§.
āĻāĻāĻ¨, āĻāĻ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°āĻāĻŋ āĻ āĻ¤āĻŋāĻā§āĻ°āĻŽ āĻāĻ°ā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻāĻāĻāĻŋ āĻšā§āĻ¯āĻžāĻļā§ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻŦā§: message_id, message_type, message_textāĨ¤
āĻāĻā§āĻ˛āĻŋ āĻāĻāĻāĻĒā§āĻ āĻŦāĻŋāĻāĻžāĻā§ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§āĨ¤
if āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻāĻāĻĒā§āĻ āĻŦāĻŋāĻāĻžāĻā§ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ°āĻžāĻāĻāĻŋāĻ āĻāĻ°āĻž
āĻāĻāĻāĻĒā§āĻ āĻŦāĻŋāĻāĻžāĻā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻŽāĻ¨ā§ āĻāĻā§, āĻāĻŽāĻ°āĻž āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻā§āĻ˛āĻŋāĻā§ āĻĻā§āĻāĻŋ āĻ¸ā§āĻā§āĻ°ā§āĻŽā§ āĻŦāĻŋāĻāĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻ¯āĻžāĻā§āĻāĻŋāĻ˛āĻžāĻŽāĨ¤ āĻāĻŋāĻā§ - āĻ¯āĻž iNFO, āĻāĻŽāĻ°āĻž āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻāĻāĻāĻĒā§āĻ āĻĻā§āĻŦ āĻāĻŦāĻ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¸āĻš, āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§ āĻāĻāĻāĻĒā§āĻ āĻāĻ°āĻŦāĨ¤
āĻāĻŽāĻ°āĻž āĻāĻŋāĻāĻžāĻŦā§ āĻāĻ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻļā§āĻ¯āĻŧāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ? āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋāĻ° āĻ āĻŦāĻ¸ā§āĻĨāĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻāĻāĻāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§āĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§āĻ¯āĻŧ - āĻ¸āĻ°ā§āĻŦā§āĻĒāĻ°āĻŋ, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻĄā§āĻĄāĻŋāĻā§āĻā§āĻĄ message_type āĻā§āĻˇā§āĻ¤ā§āĻ° āĻ°āĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĻā§āĻāĻŋ āĻŽāĻžāĻ¨ INFO āĻāĻŦāĻ ERROR āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻāĻžāĻ° āĻāĻĒāĻ°āĻ āĻāĻŽāĻ°āĻž if āĻ¸ā§āĻā§āĻāĻŽā§āĻ¨ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻ°āĻŦāĨ¤
if [message_type] == "ERROR" {
# ĐĐ´ĐĩŅŅ вŅвОдиĐŧ в ŅĐ°ĐšĐģ
} else
{
# ĐĐ´ĐĩŅŅ вŅвОдиĐŧ в stdout
}
āĻā§āĻˇā§āĻ¤ā§āĻ° āĻāĻŦāĻ āĻ
āĻĒāĻžāĻ°ā§āĻāĻ°āĻĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻā§āĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ āĻāĻ āĻŦāĻŋāĻāĻžāĻā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§
āĻāĻāĻ¨, āĻāĻĒāĻ¸āĻāĻšāĻžāĻ° āĻ¨āĻŋāĻā§āĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§.
āĻāĻ¨āĻ¸ā§āĻ˛ āĻāĻāĻāĻĒā§āĻ, āĻāĻāĻžāĻ¨ā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° - stdout {}
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻāĻāĻĒā§āĻ - āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻŽāĻ°āĻž āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻĨā§āĻā§ āĻāĻžāĻ˛āĻžāĻā§āĻāĻŋ āĻāĻŦāĻ āĻ¯ā§ āĻĢāĻžāĻāĻ˛āĻāĻŋāĻ¤ā§ āĻāĻŽāĻ°āĻž āĻĢāĻ˛āĻžāĻĢāĻ˛āĻāĻŋ āĻ˛āĻŋāĻāĻāĻŋ āĻ¯āĻžāĻ¤ā§ āĻāĻŽāĻ°āĻž āĻŦāĻžāĻāĻ°ā§ āĻĨā§āĻā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸āĻ¯ā§āĻā§āĻ¯ āĻšāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻāĻŋ docker-compose.yml-āĻ āĻā§āĻ˛āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻŽā§āĻ:
āĻāĻŽāĻžāĻĻā§āĻ° āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻāĻāĻĒā§āĻ āĻŦāĻŋāĻāĻžāĻāĻāĻŋ āĻāĻāĻ°āĻāĻŽ āĻĻā§āĻāĻžāĻā§āĻā§:
â¨output {
if [message_type] == "ERROR" {
file {
path => "/usr/share/logstash/output/test.log"
codec => line { format => "custom format: %{message}"}
}
} else
{stdout {
}
}
}
āĻāĻāĻāĻĒā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ docker-compose.yml āĻ āĻāĻ°āĻ āĻāĻāĻāĻŋ āĻāĻ˛āĻŋāĻāĻŽ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨:
version: '3'
networks:
elk:
volumes:
elasticsearch:
driver: local
services:
logstash:
container_name: logstash_one_channel
image: docker.elastic.co/logstash/logstash:6.3.2
networks:
- elk
environment:
XPACK_MONITORING_ENABLED: "false"
ports:
- 5046:5046
volumes:
- ./config/pipelines.yml:/usr/share/logstash/config/pipelines.yml:ro
- ./config/pipelines:/usr/share/logstash/config/pipelines:ro
- ./logs:/usr/share/logstash/input
- ./output:/usr/share/logstash/output
āĻāĻŽāĻ°āĻž āĻļā§āĻ°ā§ āĻāĻ°āĻŋ, āĻāĻŽāĻ°āĻž āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŋ, āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻŋ āĻ§āĻžāĻ°āĻžāĻ¯āĻŧ āĻŦāĻŋāĻāĻžāĻāĻ¨ āĻĻā§āĻāĻŋāĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com