He keeps himself in good health.

(What is the part of speech of 'in good health'? An adjective phrase or an adverbial phrase? I think we can substitude 'healthy' for 'in good health'? Then, is 'in good health' an adjective phrase?)

Yes, that phrase is an adjective phrase. If it were adverbial, it would be describing "keeps" -- and that makes sense, too, but the phrase is right after "himself" so that is most logical.

Yes, you are correct! "In good health" is an adjective phrase because it is modifying the pronoun "himself" and describing his state of being. You can substitute "healthy" for "in good health" in this sentence, which confirms that it functions as an adjective phrase. Adjective phrases provide additional information about a noun or pronoun in a sentence. In this case, "in good health" provides information about the state or condition of the person mentioned.