You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ambari.apache.org by Fabien Carrion <fa...@gmail.com> on 2019/01/10 05:57:04 UTC
Ambari Hbase Failed Regions
Hello,
I need to create an ambari' alert if I have a failed region.
I didnt see this metric in the widget creator so I was thinking to
create an ambari metrics, and then create an ambari alert on it.
I would like to know if there is a way to access to this hbase metric
through ganglia or if I need to create a whole new python script to
download the metric.
As I am new to ambari, I am open to any suggestion.
Thanks for the help
--
Fabien Carrion
() Campagne du ruban ASCII -- Contre les mails en html
/\ contre les pieces-jointes Microsoft
Web: http://fabien.carrion.free.fr/
Re: Ambari Hbase Failed Regions
Posted by Fabien Carrion <fa...@gmail.com>.
Thanks for the help. Failed regions is not exposed through JMX, so I
just did a small script to download it from hbase master status webpage:
failedRegionsCount=$(curl -s http://127.0.0.1:16010/master-status |
hxnormalize -x | hxselect -i '#tab_userTables' | w3m -dump -cols 2000 -T
'text/html' | awk '{print $3" "$4" "$5" "$6" "$7}' | grep -v Details |
grep -v Regions | awk '{ sum+=$3} END {print sum}')
timestamp=$(date +%s)
I thought a quick curl would be easier to setup than a python script. In
case that's the root cause of my problem, I'll switch.
Then I added the metric in
/var/lib/ambari-server/resources/stacks/HDP/2.3/services/HBASE/metrics.json
"HBASE_MASTER": {
"Component": [
{
"type": "ganglia",
"metrics": {
"default": {
"metrics/clic2buy": {
"metric": "FailedRegionsCount",
"pointInTime": true,
"temporal": true
},
It appears in
http://localhost:8080/api/v1/stacks/HDP/versions/2.6/services/HBASE/artifacts/metrics_descriptor
I can also create a widget based on that metric.
But I cant send data to it. I used the REST api of the metric collector:
curl -vvv -H "Content-Type: application/json" -X POST -d '{"metrics":
[{"metricname": "FailedRegionsCount", "appid": "hbase", "hostname":
"sandbox.test.com", "timestamp": '"$timestamp"', "starttime":
'"$timestamp"', "metrics": {"'"$timestamp"'":
'"$failedRegionsCount"'}}]}' "http://127.0.0.1:6188/ws/v1/timeline/metrics"
=> HTTP status 200
where sandbox.test.com is the domain of my hbase master.
A HTTP GET dont show data either:
curl -vvv -H "Content-Type: application/json" -X GET
"http://127.0.0.1:6188/ws/v1/timeline/metrics?metricNames=FailedRegionsCount&appId=hbase"
=> HTTP status 200
{"metrics":[]}
But I can load data from metrics load_one with the same GET request for
example.
I would say I forgot to initialized something so the metric declared in
ambari server would be propaged to ambari metric collector, but I am not
sure what it is. In case that's python is required, well let me know.
Thanks for the help
On 1/11/19 7:53 AM, Jonathan Hurley wrote:
> Ambari alerts work natively off of JMX metrics, so if HBase exposes a metric through JMX then you can consume it. We used to do something similar for "dead" RegionServers, but it was determined that a "dead" RegionServer was part of the normal lifecycle and shouldn't have an alert:
>
> https://github.com/apache/ambari/commit/d1e59133f7f867a16d6cb4c7e5cc8508893a29fe#diff-c6c19e2641a79e05745b9320dfb7a6e1
>
> However, if the metric you want isn't exposed by HBase, then you'd have to write a Python script to do the work for you.
>
> On 1/10/19, 1:04 AM, "Fabien Carrion" <fa...@gmail.com> wrote:
>
> Hello,
>
> I need to create an ambari' alert if I have a failed region.
>
> I didnt see this metric in the widget creator so I was thinking to
> create an ambari metrics, and then create an ambari alert on it.
>
> I would like to know if there is a way to access to this hbase metric
> through ganglia or if I need to create a whole new python script to
> download the metric.
>
> As I am new to ambari, I am open to any suggestion.
>
> Thanks for the help
>
> --
> Fabien Carrion
>
> () Campagne du ruban ASCII -- Contre les mails en html
> /\ contre les pieces-jointes Microsoft
> Web: http://fabien.carrion.free.fr/
>
>
>
--
Fabien Carrion
() Campagne du ruban ASCII -- Contre les mails en html
/\ contre les pieces-jointes Microsoft
Web: http://fabien.carrion.free.fr/
--
Fabien Carrion
() Campagne du ruban ASCII -- Contre les mails en html
/\ contre les pieces-jointes Microsoft
Web: http://fabien.carrion.free.fr/
Re: Ambari Hbase Failed Regions
Posted by Jonathan Hurley <jh...@hortonworks.com>.
Ambari alerts work natively off of JMX metrics, so if HBase exposes a metric through JMX then you can consume it. We used to do something similar for "dead" RegionServers, but it was determined that a "dead" RegionServer was part of the normal lifecycle and shouldn't have an alert:
https://github.com/apache/ambari/commit/d1e59133f7f867a16d6cb4c7e5cc8508893a29fe#diff-c6c19e2641a79e05745b9320dfb7a6e1
However, if the metric you want isn't exposed by HBase, then you'd have to write a Python script to do the work for you.
On 1/10/19, 1:04 AM, "Fabien Carrion" <fa...@gmail.com> wrote:
Hello,
I need to create an ambari' alert if I have a failed region.
I didnt see this metric in the widget creator so I was thinking to
create an ambari metrics, and then create an ambari alert on it.
I would like to know if there is a way to access to this hbase metric
through ganglia or if I need to create a whole new python script to
download the metric.
As I am new to ambari, I am open to any suggestion.
Thanks for the help
--
Fabien Carrion
() Campagne du ruban ASCII -- Contre les mails en html
/\ contre les pieces-jointes Microsoft
Web: http://fabien.carrion.free.fr/