Druid metrics¶
Archived (pre-2022)
Preserved for reference only -- likely outdated. View original | Last updated: November 2018
imply-query-prd1¶
[root@ip-172-31-217-171 ~]# crontab -l
#Ansible: imply
*/5 * * * * /usr/sbin/logrotate /etc/logrotate.d/imply
* * * * * aws s3 sync --size-only /home/imply/imply-2.0.0/var/sv/metric s3://fyber.druid-prd1-eu-west-1/metric
*/5 * * * * find /home/imply/imply-2.0.0/var/sv/metric/ -mindepth 5 -mmin +90 -name "*.gz" -delete
cat /home/imply/imply-2.0.0/conf/druid/_common/log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{ISO8601} %p [%t] %c - %m%n" />
</Console>
<!-- BEGIN ANSIBLE MANAGED BLOCK 1 -->
<File name="FileError" fileName="var/sv/error.log">
<PatternLayout pattern="%d{ISO8601} data %p %c [%t] %m %throwable{separator(|)}%n" />
</File>
<Async name="ASYNC_1">
<AppenderRef ref="FileError" />
</Async>
<RollingFile name="FileMetric" fileName="var/sv/metric.log" filePattern="var/sv/metric/year=%d{yyyy}/month=%d{MM}/day=%d{dd}/hour=%d{HH}/metric-i-23145-%i-%d{mm}.log.gz">
<PatternLayout>
<replace regex="^.{0,7}|.$" replacement=""/>
<replace regex="feed" replacement="food"/>
<pattern>%m%n</pattern>
</PatternLayout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="levelMin" value="DEBUG" />
<param name="levelMax" value="INFO" />
</filter>
<Policies>
<OnStartupTriggeringPolicy />
<TimeBasedTriggeringPolicy interval="60" modulate="true"/>
<SizeBasedTriggeringPolicy size="100 MB"/>
</Policies>
<!--RegexFilter regex=".* LoggingEmitter .*" onMatch="ACCEPT" onMismatch="DENY"/-->
</RollingFile>
<Async name="ASYNC_Metric">
<AppenderRef ref="FileMetric" />
</Async>
<!-- END ANSIBLE MANAGED BLOCK 1 -->
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="Console" level="info" />
<!-- BEGIN ANSIBLE MANAGED BLOCK 2 -->
<AppenderRef ref="ASYNC_1" level="error" />
<!-- END ANSIBLE MANAGED BLOCK 2 -->
</Root>
<logger name="com.metamx.emitter.core.LoggingEmitter" additivity="false">
<level value="debug" />
<appender-ref ref="ASYNC_Metric" />
</logger>
</Loggers>
</Configuration>
cat /home/imply/imply-2.0.0/conf/druid/_common/common.runtime.properties
# Monitoring
druid.monitoring.monitors=["com.metamx.metrics.JvmMonitor"]
druid.emitter=logging
druid.emitter.logging.logLevel=debug
# BEGIN ANSIBLE MANAGED BLOCK
druid.emitter.graphite.eventConverter={"type":"whiteList", "namespacePrefix": "druid-prd1", "mapPath":"defaultWhiteListMap.json"}
druid.emitter.graphite.hostname=graphite.druid-prd1.fyber
druid.emitter.graphite.port=2004
druid.monitoring.emissionPeriod=PT1s
# END ANSIBLE MANAGED BLOCK
TODO¶
Ask dev team to create script, which creates ingestion tasks each hour on fyber.druid-prd1-eu-west-1/metric.