Skip to content

Commit 34de064

Browse files
package-server-manager: add a PodMonitor, expose metrics
Signed-off-by: Steve Kuznetsov <[email protected]>
1 parent 08aa6dd commit 34de064

File tree

4 files changed

+38
-1
lines changed

4 files changed

+38
-1
lines changed

Diff for: cmd/package-server-manager/main.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@ func run(cmd *cobra.Command, args []string) error {
6262
if err != nil {
6363
return err
6464
}
65+
metricsAddr, err := cmd.Flags().GetString("metrics")
66+
if err != nil {
67+
return err
68+
}
6569

6670
ctrl.SetLogger(zap.New(zap.UseDevMode(true)))
6771
setupLog := ctrl.Log.WithName("setup")
@@ -73,7 +77,7 @@ func run(cmd *cobra.Command, args []string) error {
7377
mgr, err := ctrl.NewManager(restConfig, manager.Options{
7478
Scheme: setupScheme(),
7579
Namespace: namespace,
76-
MetricsBindAddress: defaultMetricsPort,
80+
MetricsBindAddress: metricsAddr,
7781
LeaderElection: !disableLeaderElection,
7882
LeaderElectionNamespace: namespace,
7983
LeaderElectionID: leaderElectionConfigmapName,

Diff for: cmd/package-server-manager/start.go

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ func newStartCmd() *cobra.Command {
1616
cmd.Flags().String("namespace", defaultNamespace, "configures the metadata.namespace that contains the packageserver csv resource")
1717
cmd.Flags().String("health", defaultHealthCheckPort, "configures the health check port that the kubelet is configured to probe")
1818
cmd.Flags().String("pprof", defaultPprofPort, "configures the pprof port that the process exposes")
19+
cmd.Flags().String("metrics", defaultMetricsPort, "configures the metrics port that the process exposes")
1920
cmd.Flags().Bool("disable-leader-election", false, "configures whether leader election will be disabled")
2021

2122
return cmd

Diff for: manifests/0000_50_olm_06-psm-operator.deployment.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,12 @@ spec:
4141
- $(PACKAGESERVER_NAME)
4242
- --namespace
4343
- $(PACKAGESERVER_NAMESPACE)
44+
- "--metrics=:9090"
4445
image: quay.io/operator-framework/olm@sha256:de396b540b82219812061d0d753440d5655250c621c753ed1dc67d6154741607
4546
imagePullPolicy: IfNotPresent
47+
ports:
48+
- containerPort: 9090
49+
name: metrics
4650
env:
4751
- name: PACKAGESERVER_NAME
4852
value: packageserver

Diff for: manifests/0000_90_olm_00-service-monitor.yaml

+28
Original file line numberDiff line numberDiff line change
@@ -98,3 +98,31 @@ spec:
9898
selector:
9999
matchLabels:
100100
app: catalog-operator
101+
---
102+
apiVersion: monitoring.coreos.com/v1
103+
kind: PodMonitor
104+
metadata:
105+
name: package-server-manager
106+
namespace: openshift-operator-lifecycle-manager
107+
labels:
108+
app: package-server-manager
109+
annotations:
110+
include.release.openshift.io/ibm-cloud-managed: "true"
111+
include.release.openshift.io/self-managed-high-availability: "true"
112+
spec:
113+
podMetricsEndpoints:
114+
- name: metrics
115+
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
116+
interval: 30s
117+
metricRelabelings:
118+
- action: drop
119+
regex: etcd_(debugging|disk|request|server).*
120+
sourceLabels:
121+
- __name__
122+
jobLabel: component
123+
namespaceSelector:
124+
matchNames:
125+
- openshift-operator-lifecycle-manager
126+
selector:
127+
matchLabels:
128+
app: package-server-manager

0 commit comments

Comments
 (0)