Giter VIP home page Giter VIP logo

ursula-monitoring's Introduction

ursula-monitoring

This repo contains monitoring and logging modules used by Ursula and Site Controller.

Updates and tags

Place updated sensu plugin scripts into the sensu/plugins/ directory, ensuring the files have the executable bit set.

After committing your updates, create an annotated tag using the next available version number. The latest tag will be used as the version number when building either a DEB package or downloading the tarball.

To create a new annotated tag:

git tag -a 'X.Y.Z' -m'version X.Y.Z'

Deployment

You can deploy to Ursula from a tarball, and to Site Controller from a Debian package.

Tarball deployment

Select the tagged version you want, and download the tar.gz file. This can be uploaded to your file mirror as needed for deployment.

Package deployment

To deploy from a debian package, you build the package, and upload to the repo(s) used by your system.

Docker package build

First you need to build a local docker image named ursula-monitoring. You'll use this in the next step to build the DEB package. Make sure you have the desired annotated tag checked out, as this is how the package version number will be set.

cd ursula-monitoring/
docker build -t ursula-monitoring .

Now you just run this command, which builds the package within the container and makes it available under the build/ subdirectory.

docker run -v $PWD:/ursula-monitoring ursula-monitoring

As stated above, the new debian package file is in the build/ directory. You can upload that to the mirrors used by your system to deploy.

Manual package build

If you'd like to build the package outside of docker, you can. However, the system requires fpm to build packages and the package_cloud gem to upload to packagecloud.io.

  1. Checkout desired version. Use git checkout to point HEAD to desired commit.
  2. Ensure desired tag (package version). If you need to create a new annotated tag, use git tag -a 'X.Y.Z' -m'version X.Y.Z'.
  3. To build the package, call make.
  4. To upload to packagecloud.io, make upload PACKAGECLOUD_REPO=username/repo (or set PACKAGECLOUD_REPO in your environment).

License

All original work released under Apache 2.0 license. Note: this repository does contain vendored plugins and checks that may be licensed differently.

ursula-monitoring's People

Contributors

aacole avatar adamdevigili avatar alanmuston avatar angstwad avatar bacon41 avatar bbgtim avatar channus avatar craigtracey avatar dlundquist avatar edtubillara avatar ermajn avatar jyotty avatar kevotran avatar knandya avatar lihkin213 avatar masteinhauser avatar nealbrown avatar nirajdp76 avatar omgjlk avatar panxia6679 avatar paulczar avatar pgraziano avatar pwplusnick avatar scoop206 avatar spamaps avatar twaldrop avatar ulyssesbbg avatar xiaohua-shen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ursula-monitoring's Issues

Monitor for duplicate neutron agents

In some scenarios, such as a host rename, duplicate neutron agents can wind up running and in doing so may disrupt network communication periodically. We should monitor for duplicate agents that share the same base hostname (the stuff before the first .) Such a scenario should lead to an admin inspecting the host to determine the right set of agents to run, possibly correcting the hostname and resetting the neutron network agents.

check-glance-store doesn't handle remote images

Some images are added with a remote location, so that they're fetched each time. The store checker doesn't take that into account and alerts for these images since they're not in the store. The checker should utilize the API to discover the location(s) of the image and only check the filesystem if it is supposed to be located there.

The location check will require allowing location data to be returned from the glance API.

Unable to run swift-dispersion-check if the container in swift is not created yet

if there is no container in swift cluster Sensu throws this critical alter:
SwiftDispersionCheck CRITICAL: Unable to run swift-dispersion-check: Command '['swift-dispersion-report', '-j']' returned non-zero exit status 1 None

swift-dispersion

command
sudo /etc/sensu/plugins/check-swift-dispersion.sh

output
SwiftDispersionCheck CRITICAL: Unable to run swift-dispersion-check: Command '['swift-dispersion-report', '-j']' returned non-zero exit status 1 None

Check on swift proxy node:
root@ds0013:/etc/sensu/plugins# swift stat
Account: 17e024851c844fb1ac5b867fd2e0aa28
Containers: 0
Objects: 0
Bytes: 0
Containers in policy "policy-0": 0
Objects in policy "policy-0": 0
Bytes in policy "policy-0": 0
X-Account-Project-Domain-Id: default
Connection: close
X-Timestamp: 1458951735.07750
X-Trans-Id: txdc4dce8d3fae4d7e9aa15-0057174859
Content-Type: text/plain; charset=utf-8
Accept-Ranges: bytes

Run swift-dispersion-report

root@ds0013:/etc/sensu/plugins# swift-dispersion-report -j
/opt/bbc/openstack-11.0-bbc148/swift/local/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:100: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
/opt/bbc/openstack-11.0-bbc148/swift/local/lib/python2.7/site-packages/keystoneclient/service_catalog.py:196: UserWarning: Providing attr without filter_value to get_urls() is deprecated as of the 1.7.0 release and may be removed in the 2.0.0 release. Either both should be provided or neither should be provided.
'Providing attr without filter_value to get_urls() is '
No containers to query. Has swift-dispersion-populate been run?
Traceback (most recent call last):
File "/usr/local/bin/swift-dispersion-report", line 377, in
options.partitions)
File "/usr/local/bin/swift-dispersion-report", line 177, in object_dispersion_report
container, prefix='dispersion_', full_listing=True)[1]]
File "/opt/bbc/openstack-11.0-bbc148/swift/local/lib/python2.7/site-packages/swift/common/internal_client.py", line 822, in get_container
return self.retry_request('GET', container=container, *_kwargs)
File "/opt/bbc/openstack-11.0-bbc148/swift/local/lib/python2.7/site-packages/swift/common/internal_client.py", line 805, in retry_request
return self.base_request(method, *_kwargs)
File "/opt/bbc/openstack-11.0-bbc148/swift/local/lib/python2.7/site-packages/swift/common/internal_client.py", line 765, in base_request
conn = urllib2.urlopen(req, timeout=timeout)
File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 410, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 448, in error
return self._call_chain(_args)
File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(_args)
File "/usr/lib/python2.7/urllib2.py", line 531, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 404: Not Found
root@ds0013:/etc/sensu/plugins#

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.