Apigee Monitoring Dashboard install fails for missing packages

The 16.01 release contains an alpha version of the “Apigee Monitoring Dashboard” We wanted to take a quick look at it to see what it gives us so we just did a AIO install. when we start the dashboard install it seems to be missing a couple dependencies from from the apigee repo. Is this an issue or are we missing something here, assumming these dependencies are provided by apigee repo?

See below for the error:

sudo /opt/apigee/apigee-service/bin/apigee-service apigee-influxdb install

Loaded plugins: product-id, rhnplugin, security, subscription-manager

This system is receiving updates from RHN Classic or RHN Satellite.

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package apigee-influxdb.noarch 0:0.10.3-0.0.5 will be installed

--> Processing Dependency: influxdb for package: apigee-influxdb-0.10.3-0.0.5.noarch

--> Processing Dependency: apigee-collectd for package: apigee-influxdb-0.10.3-0.0.5.noarch

--> Running transaction check

---> Package apigee-collectd.noarch 0:5.5.0-0.0.587 will be installed

--> Processing Dependency: collectd-generic-jmx for package: apigee-collectd-5.5.0-0.0.587.noarch

--> Processing Dependency: collectd for package: apigee-collectd-5.5.0-0.0.587.noarch

---> Package influxdb.x86_64 0:0.10.3-1 will be installed

--> Finished Dependency Resolution

Error: Package: apigee-collectd-5.5.0-0.0.587.noarch (apigee-release)

Requires: collectd-generic-jmx

Error: Package: apigee-collectd-5.5.0-0.0.587.noarch (apigee-release)

Requires: collectd

You could try using --skip-broken to work around the problem

You could try running: rpm -Va --nofiles —nodigest

5 28 1,166
28 REPLIES 28

Not applicable

This is expected behavior, collectd uses GPL license, so Apigee is unable to host it in our public repo and make it seamless.

The good news is it's available with most Linux distributions, please enable your epel repo, and retry above installation.

This should be documented in the install config guide, right? @sgilson @Rajesh Jadhav ?

Yes @sarthak, it's the first item in the troubleshooting section.

  1. To ensure apigee-collectd is collecting the data

Run the apigee-service apigee-collectd setup, it’s idempotent, check for errors, missing dependencies and resolve them.

This is not documented in the install guide so it "seemed" like a bug, missing dependencies, now that Apigee is providing them in the new packaging.

At a minimum it should be noted in the guide

"some dependencies use GPL license, so Apigee is unable to host it in our public repo. You will need to enable the epel repo to install these depedencies"

BTW - What if enable EPEL is not an option? Are there other options to installing the necessary depedencies?

If turning on EPEL is not an option, you can compile it and install.

https://collectd.org/wiki/index.php/First_steps

are there any more dependencies after this collectd packages ?

One more that I know of is java-1.7.0-openjdk-devel which is required to fetch JMX metrics.

In general, it depends upon the component you are installing. Please run the apigee-service apigee-collectd setup and check the "error" messages.

I have found during prior installations of monitoring that collectd and its dependencies have not been found in the epel for my target OS. In order to use the correct version of collectd I was forced to have to build the package and its dependencies on the target node. Given that, like ravi.nomula, I am not finding these packages in the current epel, is there some additional guidance you can offer to help us obtain these packages or does the requirement to build these packages still fall on the user performing the installation?

we have the epel repo setup and still have missing package issues .......please see the apigee-influxdb install output .....any help to keep moving is really appreciated .....

sudo /opt/apigee/apigee-service/bin/apigee-service apigee-influxdb install

Loaded plugins: product-id, rhnplugin, security, subscription-manager

This system is receiving updates from RHN Classic or RHN Satellite.

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package apigee-influxdb.noarch 0:0.10.3-0.0.5 will be installed

--> Processing Dependency: influxdb for package: apigee-influxdb-0.10.3-0.0.5.noarch

--> Processing Dependency: apigee-collectd for package: apigee-influxdb-0.10.3-0.0.5.noarch

--> Running transaction check

---> Package apigee-collectd.noarch 0:5.5.0-0.0.587 will be installed

--> Processing Dependency: collectd-generic-jmx for package: apigee-collectd-5.5.0-0.0.587.noarch

--> Processing Dependency: collectd for package: apigee-collectd-5.5.0-0.0.587.noarch

---> Package influxdb.x86_64 0:0.10.3-1 will be installed

--> Running transaction check

---> Package apigee-collectd.noarch 0:5.5.0-0.0.587 will be installed

--> Processing Dependency: collectd-generic-jmx for package: apigee-collectd-5.5.0-0.0.587.noarch

---> Package collectd.x86_64 0:4.10.9-1.el6 will be installed

--> Processing Dependency: libyajl.so.1()(64bit) for package: collectd-4.10.9-1.el6.x86_64

--> Running transaction check

---> Package apigee-collectd.noarch 0:5.5.0-0.0.587 will be installed

--> Processing Dependency: collectd-generic-jmx for package: apigee-collectd-5.5.0-0.0.587.noarch

---> Package yajl.x86_64 0:1.0.7-3.el6 will be installed

--> Finished Dependency Resolution

Error: Package: apigee-collectd-5.5.0-0.0.587.noarch (apigee-release)

Requires: collectd-generic-jmx

You could try using --skip-broken to work around the problem

You could try running: rpm -Va --nofiles --nodigest

and also collectd installed packages ....

sudo yum list "collectd*"

Loaded plugins: product-id, rhnplugin, security, subscription-manager

This system is receiving updates from RHN Classic or RHN Satellite.

Available Packages

collectd.i686 4.10.9-1.el6 epel

collectd.x86_64 4.10.9-1.el6 epel

collectd-apache.x86_64 4.10.9-1.el6 epel

collectd-dns.x86_64 4.10.9-1.el6 epel

collectd-email.x86_64 4.10.9-1.el6 epel

collectd-ipmi.x86_64 4.10.9-1.el6 epel

collectd-mysql.x86_64 4.10.9-1.el6 epel

collectd-nginx.x86_64 4.10.9-1.el6 epel

collectd-nut.x86_64 4.10.9-1.el6 epel

collectd-ping.x86_64 4.10.9-1.el6 epel

collectd-postgresql.x86_64 4.10.9-1.el6 epel

collectd-rrdtool.x86_64 4.10.9-1.el6 epel

collectd-sensors.x86_64 4.10.9-1.el6 epel

collectd-snmp.x86_64 4.10.9-1.el6 epel

collectd-virt.x86_64 4.10.9-1.el6 epel

collectd-web.x86_64 4.10.9-1.el6 epel

Sorry you have to go through these issues, as explained earlier, unfortunately we cannot make these RPMs available to you directly. Couple of options are,

  1. Compile the collectd RPM based on instructions here, https://collectd.org/download.shtml
  2. Try to get the latest OS, from your install log it looks like you may have a older OS as typical collectd installs I see are 5.5 but logs show 4.10

For future releases, we are reconsidering usage of collectd with something that's non-GPL and allows us to ship it as part of the product to avoid such issues.

Regards,

Rajesh

There seems to be a big disconnect here. We have configured EPEL successfully. The problem appears to be that RHEL 6 version in EPEL of collectd is 4.10. Seems that 5.5 is not available in EPEL for RHEL 6

https://dl.fedoraproject.org/pub/epel/6/x86_64/

Does the dashboard work on RHEL 6.6 or is RHEL 7 required to run the Dashboard.

It should work, please download the source and compile collectd 5.5 yourself. https://collectd.org/download.shtml

@Rajesh Jadhav - A few comments/feedback re: downloading a compiling collectd.

1 ) We have strict security controls on what we can and can't do on our servers. We don't necessary, as a norm, have the luxury to just arbitrarily download and compile software on our servers. Enabling EPEL was a stretch for us and that doesn't even get us working as it seems that the collectd version in EPEL for RHEL 6.6 is older than what your expecting.

2) Collectd is required on all of the servers that are being monitored. The option of downloading an compiling for 40 plus servers is not very desirable option in the least.

We are currently blocked in our evaluation of the Dashboard product but still really interested in the value it would provide over other solutions.

Do you have any other ideas on how can we move forward or do we just have to wait until Apigee figures out a better way to package this?

Hi David,

You don't have to compile it on every node, here is a link you can use to compile RPMs on one machine and then you can install the required RPMs on every machine either through your own mirror or by transferring those files to each node.

As I mentioned above, we are looking at alternatives to collectd that will make this easier but it will take a couple of private cloud releases to come out.

Regards,

Rajesh

We're going down the rabbit hole again. So I tried to follow this procedure, however one bad assumption is that the server we're trying to create the RPM from has full access to the internet to download all the sources in the SPEC file. Again, not the case. Apigee needs to realize that not everyone has open, full access to everything, from everywhere especially in a large enterprise environment. This again leads me to another dead end of trying to install the required software.

honestly - im kind of happy to see other people saying this... im not sure why it isnt a message that is being listened to when its told to product directly in private.

Hi @Rajesh Jadhav

Is there any other alternative to install dependencies for apigee-collectd? I am also facing same issue. We don't have privileged of having open internet on our servers. if we need to whitelist any specific server what will be? and will that site will have all dependencies we need for Monitoring dashboard.

** Found 17 pre-existing rpmdb problem(s), 'yum check' output follows: vasclnt-4.1.0-21518.x86_64 has missing requires of libcrypt.so.1

....

No Pravin, unfortunately there is no other option at this point. Due to this issue, we are exploring the option of using telegraf as an alternative to collectd in our next release. Hopefully that should unblock everyone.

Not applicable

Yes @sarthak, it's the first item in the troubleshooting section.

  1. To ensure apigee-collectd is collecting the data

Run the apigee-service apigee-collectd setup, it’s idempotent, check for errors, missing dependencies and resolve them.

We were able to enable EPEL and now see that collectd is resolving to this repo however the collectd-generic-jmx is now required as a dependency and doesn't look like it's part of EPEL repository. How would we get this package?

Error: Package: apigee-collectd-5.5.0-0.0.587.noarch (apigee-release)

Requires: collectd-generic-jmx

Hi David,

You don't have to compile it on every node, here is a link you can use to compile RPMs on one machine and then you can install the required RPMs on every machine either through your own mirror or by transferring those files to each node.

As I mentioned above, we are looking at alternatives to collectd that will make this easier but it will take a couple of private cloud releases to come out.

Regards,

Rajesh

Not applicable

this worked for me in AWS EC2 RHEL 7.2, thanks @Maudrit

Do we have an alternative? @Prithpal Bhogill

Former Community Member
Not applicable

Hi @Ankit looks we cannot make these RPMs available as @Rajesh Jadhav mentioned due to GPL license restrictions. He has listed the alternative in the post above.

Not applicable

I am also seeing the same problem. Enabled epel-repository and tried the following command however it is failing and looking for following for apigee-collectd-5.5.0-0.0.8.noarch dependency.

/opt/apigee/apigee-service/bin/apigee-service apigee-influxdb install


Error: Package: apigee-collectd-5.5.0-0.0.8.noarch (apigee-release) Requires: collectd-generic-jmx

Is there an easy way to get this dependency resolved?

I'm not sure of your situation or flexibility but I would suggest trying out their latest version 4.16.09 which moved away from using collectd and now using telegraf. I personally haven't tried it yet but it looks like they've removed that dependency which is where we were stuck.

Not applicable

Yes. We just got our Dev platform upgraded to 4.16.09 and dashboard got installed and works like a charm!