Releases: logicmonitor/k8s-argus
v4.1.0
Release 4.1.0
With this release 4.1.0
, Argus has come up with following enhancement:
Made provision to define resource discovery filters based on labels which excludes resources from adding them under monitoring. This can be specified in the Add Kubernetes Cluster
Resources page, or directly in helm upgrade
command for existing clusters.
While creating Kubernetes Cluster from UI, user may provide labels to exclude as shown below.
Example 1:
ResourceType | LabelKey | LabelValue |
---|---|---|
Deployment | app | QA |
Deployment | app | Dev |
--set filters.deployment="app =~ 'QA' || app =~ 'Dev'"
This will exclude all deployments having label key as app
and label values as either QA
or Dev
.
Example 2:
To exclude all the resources, user may add *
in LabelKey and LabelValue.
ResourceType | LabelKey | LabelValue |
---|---|---|
Deployment | * | * |
Service | * | * |
--set filters.service=\"*\" --set filters.deployment=\"*"\
This will exclude all the services and deployments from monitoring.
Note: Filter expression in helm command must be escaped using back slash while using wild card
*
to exclude all resources
Example 3:
User may update filters using helm
command:
helm upgrade --reuse-values \
--set filters.deployment="label1 =~ 'value1'" \
--set filters.pod="app =~ 'node-app'" \
--set filters.service="" \
argus logicmonitor/argus
Above command will update the existing filters and exclude following (delete if already added) :
- Deployment having labelKey as
label1
and labelValue asvalue1
- Pods having labelKey as
app
and labelValue asnode-app
- Having empty value means no filter i.e. it will add all the resources on LM portal for monitoring.
Following are the Helm command options available to provide filters:
- filters.deployment
- filters.pod
- filters.service
- filters.node
Upgrade Steps:
- Important: While upgrading Argus chart from older versions to
0.14.0
or higher, you need to get supply argus configuration file in helm upgrade command. Follow these steps to create configuration file:- Download configuration file template from here
- Get existing values using command
helm get values argus
and save in backup configuration file. - Put all existing values in downloaded configuration file at its appropriate places. And let the remaining values at their default.
- Upgrade argus helm chart to version
0.14.0
- Run
helm repo update
and followed by upgradehelm upgrade -f argus-config.yaml argus logicmonitor/argus
- Run
- Recreate Argus pod if it doesn't recreate automatically. - Helm does not recreate pods if there is no change in definitions.
v4.0.1
Hotfix
- Fixed index out of bound error while parsing error response
v4.0.0
What's new
- Handled LogicMonitor RESTful APIs' rate limit thresholds. Argus, now, retries the REST request after backing off when request fails with status 429 i.e. "Too many requests". The backoff time of request failure will be retrieved from REST response of failed request's headers. Find more about LogicMonitor RESTful APIs rate limits at here
- node-role based grouping of Kubernetes nodes into dynamic device groups will be done by using node labels. For ex: Nodes with role node-role.kubernetes.io/master will become member of device group named master
note: Applies-To function for existing dynamic device groups of nodes will not be updated.
- Provision to mention pod priority for LM Container pods i.e. Argus, Collectorset-controller and Collector pods. This is optional configuration.
Priority Class for Collectorset Controller and Argus pod can be mentioned in helm command with option
--set priorityClassName="<PriorityClassName>"
Priority Class for Collector pod in Argus's helm command
--set collector.priorityClassName="<PriorityClassName>"
- Provision to mention tolerations on LM Container pods. This is optional configuration.
Tolerations for Collectorset Controller and Argus pod can be mentioned in helm command with option
--set tolerations[0].key="special1"
--set tolerations[0].operator="Equal"
--set tolerations[0].value="worker1"
--set tolerations[0].effect="NoSchedule"
Tolerations for Collector pod in Argus's helm command
--set collector.tolerations[0].key="special1"
--set collector.tolerations[0].operator="Equal"
--set collector.tolerations[0].value="worker1"
--set collector.tolerations[0].effect="NoSchedule"
Note: If you want to add multiple tolerations, increase list index and add new toleration values.
Upgrade steps
- Upgrade helm charts to new release - argus chart version
0.13.0
and collectorset-controller chart version0.8.0
Note: New argus version is v4 hence ensure to set
--set imageTag="v4"
option while upgrading.
- Recreate Argus, Collectorset-controller, Collector pods if they don't recreate automatically. - Helm does not recreate pods if there is no change in definitions.
v3.1.0
Improvements
- Added periodic discovery of kubernetes resources to add missing devices on LogicMonitor portal. If creation of corresponding device of any kubernetes resource fails for some reason; then Argus will try to create it again in next cycle of 10 minutes interval.
- Argus uses gRPC protocol to communicate with collectorset-controller. If gRPC connection disconnects for some reason, now onwards Argus will automatically dial in again and recreate gRPC connection to resume kubernetes discovery and reflecting devices into LogicMonitor portal. From now onwards, no need to restart Argus pod if gRPC connection disconnects.
Upgrade steps
- Delete the Argus pod in order to pull new docker image and spawn a new pod with newer image
v3.0.2
Changes
- gosec security scan fix
Upgrade steps
- Delete the Argus pod in order to pull new docker image and spawn a new pod with newer image
v3.0.1
Upgrade steps
- Ensure Argus docker image tag is used as "v3" at the time of Argus installation
usehelm get values argus
to check configured docker image tag. - Delete the Argus pod in order to pull new docker image and spawn a new pod with newer image
Bug fixes
Other changes
- Once you opt for this release, you have to manually delete the dangling device groups from the LogicMonitor portal for the previously deleted namespaces.
v3.0.0
Kubernetes libraries updated to version 1.17