Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Metricbeat] Create Kibana dashboards for ActiveMQ module #14655

Merged
merged 6 commits into from
Nov 25, 2019

Conversation

mtojek
Copy link
Contributor

@mtojek mtojek commented Nov 20, 2019

Marking as WIP to let you review changes before I dive into testing and dashboards.

Issue: #14510

This PR introduces dashboards for recently developed ActiveMQ (metricsets: broker, topic, queue)

Done:

  • broker
  • topic
  • queue

@mtojek mtojek requested a review from a team as a code owner November 20, 2019 16:14
@mtojek mtojek self-assigned this Nov 20, 2019
@mtojek mtojek added Team:Integrations Label for the Integrations team in progress Pull request is currently in progress. enhancement module labels Nov 20, 2019
@mtojek
Copy link
Contributor Author

mtojek commented Nov 20, 2019

I wonder if you prefer to see some screenshots here. If so, I can upload them to a side repo.

@mtojek mtojek changed the title WIP: [Metricbeat] Create Kibana dashboards for ActiveMQ module [Metricbeat] Create Kibana dashboards for ActiveMQ module Nov 21, 2019
@mtojek mtojek added review [zube]: In Review and removed in progress Pull request is currently in progress. labels Nov 21, 2019
@exekias
Copy link
Contributor

exekias commented Nov 21, 2019

ey @mtojek we normally upload the screenshots of the dashboards and put them in the docs. See this as an example: https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-metricset-aws-sqs.html

It should also help with the review

@mtojek
Copy link
Contributor Author

mtojek commented Nov 21, 2019

Thanks @exekias for the suggestion. I've added some screenshots.

@exekias
Copy link
Contributor

exekias commented Nov 22, 2019

Thank you! they are looking great :) Could you please add units for enqueue time visualizations? You can access them under the Options tab:

image

Also I saw that Broker memory usage is 0, is that correct? Adding units there would be helpful too

@mtojek
Copy link
Contributor Author

mtojek commented Nov 22, 2019

I will add missing units in a moment. Also, verified the Broker memory usage. I've sent ~10000 messages to raise MemoryPercentUsage to 1%:

{"request":{"mbean":"org.apache.activemq:brokerName=*,type=Broker","type":"read"},"value":{"org.apache.activemq:brokerName=localhost,type=Broker":{"StatisticsEnabled":true,"TemporaryQueueSubscribers":[],"TotalConnectionsCount":3,"TotalMessageCount":10153,"TempPercentUsage":0,"MemoryPercentUsage":1,"TransportConnectors":{"openwire":"tcp:\/\/dfb25e965e8c:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600","amqp":"amqp:\/\/dfb25e965e8c:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600","mqtt":"mqtt:\/\/dfb25e965e8c:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600","stomp":"stomp:\/\/dfb25e965e8c:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600","ws":"ws:\/\/dfb25e965e8c:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"},"InactiveDurableTopicSubscribers":[],"StoreLimit":45676818504,"TotalProducerCount":0,"TopicProducers":[],"CurrentConnectionsCount":0,"QueueProducers":[],"JMSJobScheduler":null,"VMURL":"vm:\/\/localhost","UptimeMillis":407715,"TemporaryTopicProducers":[],"TemporaryQueueProducers":[],"TotalDequeueCount":0,"Topics":[{"objectName":"org.apache.activemq:brokerName=localhost,destinationName=ActiveMQ.Advisory.MasterBroker,destinationType=Topic,type=Broker"},{"objectName":"org.apache.activemq:brokerName=localhost,destinationName=ActiveMQ.Advisory.Connection,destinationType=Topic,type=Broker"},{"objectName":"org.apache.activemq:brokerName=localhost,destinationName=ActiveMQ.Advisory.Queue,destinationType=Topic,type=Broker"}],"DurableTopicSubscribers":[],"JobSchedulerStorePercentUsage":0,"Uptime":"6 minutes","QueueSubscribers":[],"BrokerId":"ID:dfb25e965e8c-39859-1574415491731-0:1","AverageMessageSize":1067,"DataDirectory":"\/opt\/apache-activemq-5.15.9\/data","Persistent":true,"TopicSubscribers":[],"TemporaryQueues":[],"BrokerVersion":"5.15.9","BrokerName":"localhost","MinMessageSize":1024,"MemoryLimit":668309914,"Slave":false,"DynamicDestinationProducers":[],"TotalEnqueueCount":10161,"TempLimit":45676806144,"TemporaryTopicSubscribers":[],"TemporaryTopics":[],"JobSchedulerStoreLimit":0,"Queues":[{"objectName":"org.apache.activemq:brokerName=localhost,destinationName=incoming,destinationType=Queue,type=Broker"}],"TotalConsumerCount":0,"StorePercentUsage":0,"MaxMessageSize":1068}},"timestamp":1574415898,"status":200}

I just didn't send enough messages while capturing screenshots.

@mtojek
Copy link
Contributor Author

mtojek commented Nov 22, 2019

I've updated dashboards according to changes proposed in #14711 . Once it's merged, I will rebase this PR.

@mtojek mtojek force-pushed the 14510-create-dashboard branch 2 times, most recently from ab45bf9 to fe1cd9a Compare November 24, 2019 18:36
if (topic_memory_broker_pct != null) {
event.Put("activemq.topic.memory.broker.pct", topic_memory_broker_pct / 100.0)
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is great! pinging @jsoriano we should probably support this in the metricset manifest, WDYT?

Copy link
Member

@jsoriano jsoriano Nov 25, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I have added an issue for that #14730 #14740

I wouldn't add this to the user configuration because we cannot update these files when they are in use.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mtojek @exekias I have added an issue so we don't forget to move the processors to manifest.yml when possible: #14742

I wouldn't release any module as GA with processors in the configuration.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think #14730 is the right link there 😬 @jsoriano

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kaiyan-sheng thanks! link fixed

@mtojek mtojek merged commit 31e3ed4 into elastic:master Nov 25, 2019
@jsoriano jsoriano added test-plan Add this PR to be manual test plan v7.6.0 labels Nov 25, 2019
mtojek added a commit to mtojek/beats that referenced this pull request Nov 26, 2019
)

* Kibana dashboard: ActiveMQ broker overview

* Fix: mage fmt update

* Fix: invalid dashboard JSON

* Kibana dashboard: ActiveMQ queues and topics overview

* Add dashboard screenshots

* Enable time units, pct in dashboards
mtojek added a commit that referenced this pull request Nov 26, 2019
* [Metricbeat] Create ActiveMQ module (#14580)

* Generate bootstrap for broker, queue, topic

* Update generated files

* Define metricsets in disabler

* Prepare docker image for ActiveMQ

* Define jolokia endpoint in disabler

* Convert to lightweight module

* Remove downloaded installation bundle

* Fill sample data.json

* Refactor metricset fields

* Update docs

* Fix: do not expose ActiveMQ port

* Fix: mage fmt update

* Dockerfile: define healthcheck

* Move module contents to x-pack

* Fix: move docker-compose definition to x-pack

* Add basic system test

* Fix: update docs

* System tests: topic metrics collected

* Fix: mage fmt update

* System tests: queue, topic metrics collected

* Update docs

* Fix: use compose_host

* Assert that fields are documented

* Fix: typo in metricbeat/docs/modules/activemq.asciidoc

Co-Authored-By: kaiyan-sheng <kaiyan.sheng@elastic.co>

* Add CHANGELOG.next entry

* Fix: mage fmt update

* Fix: import stomp in the function scope (#14703)

* Fix: use metrics_path instead of path in system tests (#14690)

* [Metricbeat] Create Kibana dashboards for ActiveMQ module (#14655)

* Kibana dashboard: ActiveMQ broker overview

* Fix: mage fmt update

* Fix: invalid dashboard JSON

* Kibana dashboard: ActiveMQ queues and topics overview

* Add dashboard screenshots

* Enable time units, pct in dashboards

* Adjust PR reference in CHANGELOG.next

* Fix: mage fmt update
@ChrsMark ChrsMark self-assigned this Jan 16, 2020
@ChrsMark ChrsMark mentioned this pull request Jan 17, 2020
14 tasks
@ChrsMark ChrsMark added the test-plan-ok This PR passed manual testing label Jan 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement module needs testing notes review Team:Integrations Label for the Integrations team test-plan Add this PR to be manual test plan test-plan-ok This PR passed manual testing v7.6.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants