Is 'Max Cpu' at 100% normal?

It's aggregation rule, not the actual usage. When metrics are collected, they have (for CPU) a single metric: current CPU load. If metrics are collected 6 times a minute, there are 6 values. When large interval is shown, it's usually does not show all data, but perform aggregation. F.e. if aggregation is down to 10-minute interval, than all data in this interval are collapsed into one number. There are different functions to do so: min, max, avg, median, etc.

One away is to average (your second chart). Another is show the maximum found peak on that interval (your first char). Aggregation on averages tends to hide peaks, aggregation on max'es tends to swell peak use unreasonably. If you have 10 minutes aggregation window, and during this moment some process consumed 100% for 0.1 second, and that 0.1 second was the moment metrics were gathered, you'll have 10-minute interval of 100% CPU use (when 'max' aggregation is used).